仅选择Selenium中包含XPath文本的标记



我只想选择包含文本的标记(不包括子代/子代)。

这就是我要找的:

//*/descendant::text()[normalize-space()]

它在硒中不起作用。有没有办法在硒和find_elements_by_xpath()中使用这个表达式?

当你说:

仅标记(没有子代/子代)

我假设您的意思是没有子元素/子元素节点。如果这是正确的,那么这个xpath应该(我不使用selenium)工作。。。

//*[normalize-space() and not(*)]

这将选择任何包含文本(空白除外)且不包含子元素的元素。

例如,它将不匹配p,但在这种情况下它将匹配b

<p>text <b>more text</b></p>

尝试

//*[contains(text()='textToFind')]

这将基本上查找包含指定文本的任何标记。

最新更新