包含给定字符串的职位列表可能以 <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/