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

时间:2015-12-15 17:45:35

标签: python selenium xpath selenium-webdriver

我想只选择包含文本的标签(没有子/后代)。

这就是我要找的:

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

它在Selenium中不起作用。有没有办法在Selenium中使用find_elements_by_xpath()

2 个答案:

答案 0 :(得分:2)

当你说:

  

仅标签(没有儿童/后代)

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

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

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

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

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

答案 1 :(得分:0)

尝试

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

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