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

XPath 中用 |(管道符)可以实现“或”逻辑,同时选择多种不同名称的节点,但要注意:这个语法只在 XPath 1.0 及以上版本中有效,且必须确保两个路径返回的是**同类型的结果**(通常是节点集),并且要写在同一个表达式里,不能有空格隔开(某些解析器对空格敏感)。
比如想同时选中 <title></title> 和 <h1></h1> 节点:
再比如选中所有 div 和所有 span 中的文本节点:
| 前后多加空格,部分老解析器(如某些 DOM 实现或旧版 lxml)可能报错如果想用更紧凑的方式匹配多个标签名,可借助 local-name():
注意:这种方式适合标签名少且动态变化的场景,但可读性和性能略低于直接用 |。
Python 的 lxml 或浏览器 DevTools 控制台都支持 `|`;但 Selenium 的 find_element(By.XPATH, ...) 同样支持——只要 XPath 表达式本身合法即可。
例如在 Selenium 中:
`driver.find_elements(By.XPATH, "//input | //textarea")`基本上就这些。用 `|` 是最直接、最广泛支持的多路径联合选择方式,不复杂但容易忽略细节。
以上就是XPath怎么同时选择多种不同名称的节点 path1 | path2的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号