我有一个 WebElement we
,它呈现下一个 HTML
元素:
<li click="someFunc()">
<a class="binding">
Screen
</a>
</li>
当我执行 we.getText()
时,我得到了 Screen 单词,即使文本位于 a
元素上。
但是当我执行下一步时:driver.findElement(By.xpath(//li[contains(text(),'Screen']))
,它找不到该元素。
我可以使用哪个命令来获取元素的直接文本?我这是不可能的,所以我应该创建哪个 xpath 才能获取 li 元素,即使文本不是此 WebElement 的直接内容?
最佳答案
如果您想查找直接文本子注释,您可以使用 XPath
//li/text()
如果你想获取所有 child 的完整文本内容,请使用
//li/string()
要搜索所有将 Screen
作为文本节点的 li
元素,您也可以简单地执行
//li[contains(., 'Screen')]
因为元素将自动转换为其原子值。
关于selenium - getText() 给出子元素的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21993224/