selenium - getText() 给出子元素的文本

标签 selenium xpath

我有一个 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/

相关文章:

java - 无法通过 Selenium 和 Java 在 https ://spicejet. com 中选择出发日期

python - 如何在Python3中使用selenium检查复选框

java - 如何在 Selenium Web 驱动程序中关闭 GWT 中的面板?

XPath 表达式 : selecting text nodes between element nodes

javascript - Selenium:如何在加载/执行页面的任何其他脚本之前将 Javascript 注入(inject)/执行到页面中?

python-3.x - Selenium 可以检测 Python3 中网页何时完成加载吗?

gwt - 如何使用 XPath 仅选择可见元素?

sql-server - 用Transact-SQL替换所有记录中的多个XML属性值?

xml - 孙元素的XPath测试值?

selenium - Selenium 中的动态 x 路径中的输入及其属性不断变化