什么是与web元素相关的innerText?

时间:2016-04-21 15:28:57

标签: java selenium gettext innertext

网页上的示例程序

http://www.qaautomation.net/?p=263

有以下代码行:

return driver.findElement(By.tagName("body")).getText().contains("qaautomation.net");

getText()文档(http://seleniumhq.github.io/selenium/docs/api/java/)使用术语' innerText'。什么是innerText?

当我运行该程序并获取生成的google页面的源html时,我无法找到“qaautomation.net”#39;在代码中。 Selenium如何从源代码中获取文本?

修改

我现在发布了一个与此查询相关的新问题。

2 个答案:

答案 0 :(得分:2)

由于我们专门讨论了selenium webdriver,所以它并不像@Davide所描述的那么简单。

您可以在getElementText paragraph of the webdriver specification中找到getText()背后的逻辑描述。从文档中的解释中最重要的一点是,getText()将返回可见元素文本

  

当我运行该程序并获取生成的google页面的源html时,我无法找到“qaautomation.net”#39;在代码中

可能有多种原因。一个很常见的问题是"时间问题" - 当页面未完全加载时,您将获得body的文本。建议的解决方案是使用显式等待(Java WebDriverWait)。

答案 1 :(得分:2)

InnerHTML是特定标签的内容。

InnerText是特定标签的文本内容。

如果标签p具有以下内容:

<p>Test <b>Bold</b></p>

标签p的innerHTML是Test <b>Bold</b>

标签p的innerText为Test Bold