尝试创建XPath以在我的网站上查找具有特定标签的输入元素。但是,如果它的祖先是一个特定的div,我希望它不被发现。
假设我们获得了以下HTML:
<div class="content">
<div class="abc">
<div>
//some other elements
</div>
<div>
<h2>Name</h2>
<input></input>
</div>
</div>
<div>
<div>
//some other elements
</div>
<div>
<h2>Name</h2>
<input></input>
</div>
</div>
</div>
我只想在没有周围div
“abc”的div中找到输入的名称。
我有这个只在abc
包装器中找到名称输入但不能让它找到相反的方式:
//div[contains(@class, 'content')]//div[contains(@class, 'abc')]//descendant::h2[.='Name']/following-sibling::input
我以为我可以在not()
周围使用contains(abc)
函数,如下所示:
[not(contains(@class, 'abc'))]
但它不起作用。
答案 0 :(得分:1)
此XPath将选择字符串值等于h2
的所有"Name"
元素,而不是具有div
的{{1}}的后代:
class = 'abc'