2011-07-31 44 views
2

爲了查找包含文本「記憶」,而不是文本「圖形」 <li>元素,我已經試過了十幾變化:在XPath中包含布爾表達式的正確語法;特別是不&和

//li[contains(text(), "memory")] and li[not contains(text(), "Graphics")] 
//li[contains(text(), "memory")] and [not contains(text(), "Graphics")] 
//li[contains(text(), "memory") and not contains(text(), "Graphics")] 
etc etc 

雖然我發現帖子#2指向使用像not這樣的單個布爾運算符,我找不到解釋如何組合它們來過濾像這樣的文本的東西。有什麼訣竅?

回答

2

not()是在XPath中的函數,而不是運算符。你必須寫:

//li[contains(text(), "memory") and not(contains(text(), "Graphics"))] 
+0

魔法!這工作。非常感激。 –