在 XPath 中包含布尔表达式的正确语法;具体不是 & 和



为了找到包含文本"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"))]

最新更新