为了找到包含文本"memory"但不包含文本"Graphics"的<li>
元素,我尝试了以下几个变体:
//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
虽然我在Stackoverflow上发现了使用单个布尔运算符(如not
)的帖子,但我找不到任何解释如何组合它们来过滤这样的文本的文章。诀窍是什么?
not()是XPath中的函数,而不是操作符。你必须写:
//li[contains(text(), "memory") and not(contains(text(), "Graphics"))]