粘一段 HTML,最后一行写 XPath 表达式
匹配结果
使用说明
- 左边先粘一段 HTML(或 XML),最后单独一行写 XPath 表达式。
- 点「执行 XPath」,结果列出命中的节点及其取值或属性。
- 末尾加 /@属性名 取属性值,加 /text() 取文本,用 string() 包一层取整串。
- 写爬虫选择器时,先在这里验证通过再搬进脚本,省得反复试错。
常见问题
结果和 Python 的 lxml 会一样吗?
大部分一样,但有细微差别。本工具用的是浏览器原生 XPath 1.0 引擎(document.evaluate),和 lxml 的 XPath 1.0 基本一致;但浏览器解析 HTML 时会做容错修正(自动补全缺失的标签),所以对不规范的 HTML,节点树可能和 lxml 解析的不同。
支持 XPath 2.0 的函数吗?
不支持。浏览器只实现 XPath 1.0,ends-with()、matches()、tokenize() 这些 2.0 函数用不了。要写兼容性最高的选择器,请只用 1.0 里的函数,比如 contains()、starts-with()、substring-before()。
怎么取属性值?
在表达式末尾加 /@属性名,例如 //a/@href 会取出所有链接地址。要取元素文本用 /text(),取整个节点的字符串值就用 string() 包一层。
相关工具
开发工具 · 该分类共 125 个工具,展开查看全部
在线 JSON 格式化HTTP 状态码对照表JSON 转 YAMLJSON 转 XMLJSON 转 CSVJSON 转 TypeScript 类型JSON 转 Java 实体类JSON 转 Go 结构体JSON 转 Python 字典JSON 转 SQL 建表语句JSON 转 Markdown 表格JSON 键排序清除 JSON 空值JSON 扁平化JSON 结构分析JSON 字段清单JavaScript 代码美化JSON 压缩JSON 转 ExcelJSON 树形查看JSON Schema 生成YAML 转 JSONYAML 格式化XML 转 JSONJSON 转 C# 实体类JSON 转 PHP 数组JSON 转 Rust 结构体JSON 转 Kotlin 数据类JSON 转 Swift 模型JSON 转 Dart 模型CSV 转 JSONJSON 转 JSONLJSONL 转 JSONXML 格式化SQL 格式化HTML 格式化CSS 格式化PHP 代码格式化Java 代码格式化C# 代码格式化Python 代码格式化Ruby 代码格式化C 代码格式化C++ 代码格式化Perl 代码格式化VBScript 格式化Go 代码格式化Rust 代码格式化Kotlin 代码格式化Swift 代码格式化Scala 代码格式化Lua 代码格式化R 代码格式化XML 压缩SQL 压缩HTML 压缩CSS 压缩JavaScript 压缩SVG 代码压缩PHP 代码压缩Java 代码压缩C# 代码压缩Python 代码压缩Go 代码压缩Rust 代码压缩Kotlin 代码压缩Lua 代码压缩代码去注释MD5 加密SHA1 加密SHA256 加密SHA512 加密国密 SM3 计算HMAC 计算AES 加密解密DES 加密解密RSA 密钥对生成JWT 生成Query String 构建Cookie 解析URL 完整解析文本 Diff 对比代码 Diff 对比三向文本对比HTTP 报文解析版本号比较代码行数统计HTML 与 UBB 互转htaccess 转 NginxXPath 测试工具手机号格式校验邮箱格式校验身份证号码校验银行卡号校验信用卡号校验UUID 批量校验编码批量识别文本编码检测User-Agent 解析浏览器信息检测颜色格式转换颜色对比度检测调色板生成CSS 渐变代码生成Cron 表达式解析Cron 表达式生成正则表达式测试KeyCode 按键码查询Android 按键码查询HTML 转 Markdown文件哈希校验SQL 转 Java 实体类SQL 转 C# 实体类SQL 转 Go 结构体SQL 转 Python 类Markdown 转 HTML随机字符串生成NanoID 生成器UUID 批量生成键盘按键测试WebSocket 在线测试条形码生成Markdown 编辑器Base64 转图片二维码批量生成