使用XPath选择不包含';我小时候没有img标签

使用XPath选择不包含';我小时候没有img标签,xpath,Xpath,是否可以选择不包含任何带有单行XPath表达式的img标记的h1标记?如果是,是什么 //h1[count(img) = 0] 我假设这是针对XHTML的,否则就没有XPath。您可以使用以下函数: //h1[not(descendant::img)] 请尝试以下XPath表达式: //h1[count(img) = 0] 使用not操作符和down轴捕捉h1标签,即使没有远处的img子项 //h1[not(descendant::img)] 要查找没有img子元素的h1元素,请执行以下

是否可以选择不包含任何带有单行XPath表达式的img标记的h1标记?如果是,是什么

//h1[count(img) = 0]
我假设这是针对XHTML的,否则就没有XPath。

您可以使用以下函数:

//h1[not(descendant::img)]

请尝试以下XPath表达式:

//h1[count(img) = 0]

使用
not
操作符和
down
轴捕捉h1标签,即使没有远处的img子项

//h1[not(descendant::img)]

要查找没有img子元素的
h1
元素,请执行以下操作:

//h1[not(img)]

要查找没有
img
子代的
h1
元素:

//h1[not(.//img)]


在阅读代码时,这可能更容易理解。

如果img标记是的直接子项,则此操作有效。是否可以检查h1标签中是否有任何级别的img标签?这似乎是最干净的解决方案,但它不会检查是否存在作为h1标签子项的img标签。是否可以通过h1标记的每个子标记及其子标记进行递归检查,以确保没有img标记?当然,
not()
参数也只是一个XPath,您可以在那里使用任何东西。更新了答案。谢谢,您的更新解决方案正是我想要的,但Andrew Arnott在这方面击败了您:P
//h1[not(descendant::img)]