XPath怎么同时选择多种不同名称的节点 path1 | path2


XPath中用|可同时选择多种节点,如//title | //h1,要求同类型、无空格、独立完整路径,结果自动去重并按文档顺序排列。

xpath怎么同时选择多种不同名称的节点 path1 | path2

XPath 中用 |(管道符)可以实现“或”逻辑,同时选择多种不同名称的节点,但要注意:这个语法只在 XPath 1.0 及以上版本中有效,且必须确保两个路径返回的是**同类型的结果**(通常是节点集),并且要写在同一个表达式里,不能有空格隔开(某些解析器对空格敏感)。

正确写法示例

比如想同时选中 <title></title><h1></h1> 节点:

`//title | //h1`

再比如选中所有 div 和所有 span 中的文本节点:

`//div/text() | //span/text()`

常见错误和注意事项

  • 不能加空格:`//title | //h1` ✅,但 `//title | //h1` 中若在 | 前后多加空格,部分老解析器(如某些 DOM 实现或旧版 lxml)可能报错
  • 路径要独立完整:不能写成 `//*(self::title | self::h1)` 来替代(虽然这在 XPath 2.0+ 支持,但 1.0 不支持 `self::` 这种轴写法组合);不过 `//title | //h1` 是最兼容的写法
  • 不支持嵌套“或”结构:像 `//div[@class='a' or @id='b']` 是属性层面的或,和 `|` 完全不同,别混淆
  • 结果自动去重、按文档顺序排列:XPath 会合并两个路径结果,并按它们在 HTML/XML 中出现的先后排序,不会重复

替代方案(XPath 1.0 兼容)

如果想用更紧凑的方式匹配多个标签名,可借助 local-name()

`//*[local-name()='title' or local-name()='h1']`

注意:这种方式适合标签名少且动态变化的场景,但可读性和性能略低于直接用 |

CodeGeeX CodeGeeX

智谱AI发布的AI编程辅助工具插件,可以实现自动代码生成、代码翻译、自动编写注释以及智能问答等功能

CodeGeeX 191 查看详情 CodeGeeX

在代码中使用的小提醒

Python 的 lxml 或浏览器 DevTools 控制台都支持 `|`;但 Selenium 的 find_element(By.XPATH, ...) 同样支持——只要 XPath 表达式本身合法即可。

例如在 Selenium 中:

`driver.find_elements(By.XPATH, "//input | //textarea")`

基本上就这些。用 `|` 是最直接、最广泛支持的多路径联合选择方式,不复杂但容易忽略细节。

以上就是XPath怎么同时选择多种不同名称的节点 path1 | path2的详细内容,更多请关注其它相关文章!


# html  # python  # 潍坊全网seo推广公司  # 美容美发推广营销方案  # 和县网站建设设计  # 武威网站推广代运营  # 安丘定制化网站建设作用  # 项城网站建设平台招标  # 神木推广微营销大概价格  # 网站建设推广刘美丽  # 静海区网站推广营销  # 洛阳抖音seo价位多少  # 多个  # 有哪些  # 文档  # 数据格式  # 的是  # 如何将  # 并按  # 转换为  # 可以实现  # 不支持  # 排列  # 浏览器 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 虫虫漫画排行榜单入口_虫虫漫画编辑推荐入口  手机坏了微信聊天记录怎么导出来 新手机恢复聊天记录技巧  优化 WooCommerce 产品价格显示与自定义短代码集成  vivo浏览器怎么离线保存网页 vivo浏览器下载完整页面以便无网络时阅读  win11怎么启用或禁用休眠 Win11 powercfg命令管理休眠文件【技巧】  漫蛙manwa漫画官网链接_漫蛙manwa最新可用网址推荐  j*a中赋值运算符是什么?  c++如何链接Boost库_c++准标准库的集成与使用  冬季去哪个城市旅游更有可能观测到极光  《洛克王国:世界》国家队搭配攻略  申通快递物流信息查询 申通快递包裹状态追踪  小米手机屏幕失灵乱跳怎么办 屏幕触控问题自检与临时解决方法【应急】  Google Cloud Functions 时区处理指南:理解与最佳实践  《环球网校》设置报考省市方法  Golang中的rune与byte类型区别是什么_Golang字符与字节处理详解  解决CSS容器溢出问题:使用calc()实现精确布局与边距控制  优化Flask模板中SQLAlchemy查询迭代标签:处理字符串空格问题  如何在vscode中关闭it环境  风车动漫官网首页入口登录 风车动漫在线观看正版地址  如何在 WordPress 前端实现内容提交:古腾堡编辑器的替代方案与实践  《edge浏览器》关闭翻译功能方法  c++20的指定初始化(Designated Initializers)怎么用_c++ C风格结构体初始化  Dash应用多值文本输入处理与类型转换教程  Retrofit根路径POST请求:@POST("/") 的应用与解析  TikTok搜索结果不显示怎么办 TikTok搜索刷新与优化方法  虫虫漫画绿色安全入口_虫虫漫画绿色安全入口安全看漫画  使用jQuery精确检测除指定元素外任意位置的点击事件  快手极速版在线体验区 快手极速版网页体验入口  j*a中ArrayBlockingQueue的使用  B站怎么快速升级 B站用户等级提升攻略【详解】  uc浏览器官网网页版使用 uc浏览器官网免费在线首页  荣耀Magic7拍照夜景噪点处理_荣耀Magic7相机优化  抖音手机分身两个账号怎么切换?分身两个系统是一样的吗?  拷贝漫画2025网页版入口 拷贝漫画官网免费看全集  windows server2019显卡驱动怎么安装_winserver2019显卡驱动安装与远程桌面优化  汽水音乐网页端访问 汽水音乐官方网页直达  手机雨课堂网页版入口免登录 雨课堂网页版可点击直接进入  解决Windows上Composer PATH变量冲突导致的命令无法识别问题  如何解决Casbin日志与应用日志不统一的问题,使用casbin/psr3-bridge实现无缝集成  c++如何使用std::thread::join和detach_c++线程生命周期管理  京东快递包裹信息查询入口 京东快递官方查询平台入口  b站如何剪辑视频_b站必剪app使用教程  驱动人生:游戏修复指南  Win10共享文件夹设置方法 Win10局域网文件共享全攻略【教程】  申通快递查询 申通物流快递单实时查询入口  J*aScript大数运算_BigInt使用指南  百度输入法在AutoCAD中无法输入中文怎么办_百度输入法CAD输入异常解决方法  网页版网易云音乐入口_网易云音乐在线官网登录  第五人格PC版怎么避免被封号_第五人格PC版防封号注意事项  《海贝音乐》均衡器设置方法 

 2025-12-13

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.