html - OR'ing XPaths 的简写(相同的查询但多个标签类型)?

标签 html xml xpath xhtml

包含给定字符串的职位列表可能以 <h2> 开头。 , <h3> ,或<p> (通常)。我可以使用|对这些进行逻辑或,以便我的 XPath 能够检测所有情况:

//h2[contains(., 'Project Manager')] | //h3[contains(., 'Project Manager')] | //p[contains(., 'Project Manager')]

我们这里有速记吗?

最佳答案

您可以使用*name()来检查元素的名称:

//*[name() = 'h2' or name() = 'h3' or name() = 'p'][contains(., 'Project Manager')]

或者,正如 @kjhughes 指出的那样,self:: 会让它变得更短、更易读:

//*[self::h2 or self::h3 or self::p][contains(., 'Project Manager')]

关于html - OR'ing XPaths 的简写(相同的查询但多个标签类型)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35184819/

相关文章:

html - 具有制表效果的 css3 插入阴影

php - 如何按票数对选项进行排序

ios - 如何在 xcode 7 中添加 libxml2.dylib

perl - LibXML findnodes($query)

java - 如何在 webdriver 中使用 $x ("//input[@id=' searchInput']") xpath 因为它给出了完成语句的错误

sql-server - SQL Server 为 xml 路径添加属性和值

c# - 为什么 RAZOR 输出一个大写的 bool 值?

javascript - 当div显示:none时停止setInterval

java - 使用 xml 设置 Restful POST 请求

python - 如何检测odoo中看板 View 的拖放事件?