getText()给出了子元素的文本

时间:2014-02-24 16:22:59

标签: selenium xpath

我有一个WebElement we,它会显示下一个HTML元素:

<li click="someFunc()">
   <a class="binding"> 
         Screen
    </a>
</li>

当我we.getText()时,我得到了屏幕字,即使文本在a元素上。

但是,当我执行下一个:driver.findElement(By.xpath(//li[contains(text(),'Screen']))时,它找不到元素。

我可以使用哪个命令来获取元素的直接文本?我不可能,所以我应该创建哪个xpath来获取li元素,即使文本不是这个WebElement的直接文件?

1 个答案:

答案 0 :(得分:2)

如果要查找直接文本子注释,可以使用XPath

//li/text()

如果您想获取所有孩子的全文内容,请使用

//li/string()

要搜索具有li作为文本节点的所有Screen元素,您也可以直接执行

//li[contains(., 'Screen')]

因为元素将自动转换为原子值。