在Selenium中获取HTML标记

时间:2018-02-07 10:23:03

标签: java html selenium selenium-webdriver selenium-chromedriver

<html xmlns:plm="http://www.plmxml.org/Schemas/PLMXMLSchema">
<head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <title>View Health Report</title>
<head>
<body></body>
</html>

我有一个像上面这样的HTMl,它被插入到iframe中。所以我有如下的硒代码:

//get iframe
WebDriver frame = getFrame()// Brings iframe driver
WebElement html = frame.findElement( By.tagName("html") );// works fine I can see HTMl text from html.getText();

//now try to get title
WebElement title = html.findElement( By.tagName("title"));//title.getText() is always empty.

请让我知道我错过了什么。

3 个答案:

答案 0 :(得分:2)

尝试title.getAttribute("innerHTML");

答案 1 :(得分:0)

对于标题,您可以使用driver.getTitle();

答案 2 :(得分:0)

如您所见,您的页面仅显示浏览器标题栏中的主页标题,框内页面的标题将不可见。对于不可见元素,getText()将返回空字符串。

您应该使用getAttribute('textContent'),它对可见和不可见元素都有效。但是不要滥用它,通常使用getText()来尽可能地接近用户体验。