包含给定字符串的职位列表可能由<h2>
,<h3>
或<p>
(通常)为首。我可以使用|
逻辑OR这些,以便我的XPath将检测所有情况:
//h2[contains(., 'Project Manager')] | //h3[contains(., 'Project Manager')] | //p[contains(., 'Project Manager')]
我们这里有速记吗?
答案 0 :(得分:2)
您可以使用*
和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')]
答案 1 :(得分:2)
有什么问题
//(h2|h3|p)[contains(., 'Project Manager')]
(或许需要XPath 2.0)