【发布时间】:2017-02-26 13:35:25
【问题描述】:
我对 head 部分中的标签特别是标题标签很好奇。为什么我们不能像正文部分中使用的其他标签一样在该标签内获取文本?例如:
driver.findElement(By.tagName("title")).getText();
我认为,这是一个元标记,并且只有其中一个(如果我错了,请纠正我)。所以,selenium 提供了像 getTitle() 这样的特殊方法!
【问题讨论】:
我对 head 部分中的标签特别是标题标签很好奇。为什么我们不能像正文部分中使用的其他标签一样在该标签内获取文本?例如:
driver.findElement(By.tagName("title")).getText();
我认为,这是一个元标记,并且只有其中一个(如果我错了,请纠正我)。所以,selenium 提供了像 getTitle() 这样的特殊方法!
【问题讨论】:
Selenium 方法getText() 返回显示的文本。所以在标题标签上调用getText()会返回一个空字符串,因为它没有在页面中呈现。
要获取文本内容,请阅读“textContent”属性/属性:
element.getAttribute("textContent")
规范和默认实现:
https://www.w3.org/TR/webdriver/#get-element-text
https://github.com/SeleniumHQ/selenium/blob/master/javascript/atoms/dom.js#L944
【讨论】: