2017-07-11 31 views
1

我試圖提取一個排除xpath,但無法工作。排除一個複雜的xpath

(//div[@class='row site country-names']/following-sibling::div)[1]/div 

上述xpath提取所有三個div,但我需要排除具有點分隔符的div。 enter image description here

我嘗試了例外,但不是它不工作。

(//div[@class='row site country-names']/following-sibling::div)[1]/div and not [@class='dot-seperator'] 
+1

添加樣本數據爲文本,而不是一個屏幕截圖。 –

+0

甚至更​​好:提供一個網址。 – Severin

+1

不,網址並不好,因爲這個問題很可能在網址死後很長時間。 –

回答

1

您需要使用not排除任何屬性,例如用於類:

//div[@class='row site country-names']/following-sibling::div[not(@class)] 

使用@與屬性名稱:

[not(@attribute_name)]

+0

哇!有效。謝謝 – Sanjoy

1

我認爲你試圖選擇一個節點,同時排除它的一個子節點。

您的XPath表達式的結果不包含帶「點分隔符」類的div。但是它包含了它的父分區,並且在很多情況下,使用XPath選擇節點的應用程序將它視爲選擇以該節點爲根的整個子樹。這是調用應用程序,而不是XPath本身。