<ul>
<li><a></li>
<li><a></li>
<li><div><a></div></li>
</ul>
元素如何選擇只有前2級的物品,並排除李包含內部DIV?XPATH:排除其具有特定的孩子
考慮UL設置爲父母,我已經試過
./li[not(contains(descendant::div]
但顯然沒有奏效
<ul>
<li><a></li>
<li><a></li>
<li><div><a></div></li>
</ul>
元素如何選擇只有前2級的物品,並排除李包含內部DIV?XPATH:排除其具有特定的孩子
考慮UL設置爲父母,我已經試過
./li[not(contains(descendant::div]
但顯然沒有奏效
取出contains
和使用//
代替./
//li[not(descendant::div)]
Xpath搜索li
標籤還沒有div
孩子:
//li[not(descendant::div)]
另一種選擇:
//li[not(.//div)]
從選擇中排除某些元素 - 在這個表上https://www.w3schools.com/css/css_table.asp使用not()
方法類似locator[not(condition)]
一些更復雜的例子: 這裏是定位器獲得沒有內部元素的文本以「C」開頭的行
//table[@id='customers']//tr[not(.//*[starts-with(text(),'C')])]
解釋:
//table[@id='customers']//tr
- 得到所有行
[not(.//*[...])]
- 不包含元素具有特定屬性
[starts-with(text(),'C')]
- 並且所描述的屬性
做了一些關於這些語句的解釋,它可以幫助提問者很多 – jwenting
他們做其實在主題中提出的問題) - 排除有特定孩子的元素。好吧,我會添加一些解釋 –
//li[not(contains(div,' '))]
這適用於我。
代碼:
./li[not(contains(descendant::div]
缺少一些 ')',應該是:
./li[not(contains(descendant::div))]
如何關於'li [0]'和'li [1]' –
嘗試使用xpath // ul/li/a/.. – Murthi