Java 获取Selenium中的HTML标记
请让我知道我遗漏了什么。对于标题,您可以使用Java 获取Selenium中的HTML标记,java,html,selenium,selenium-webdriver,selenium-chromedriver,Java,Html,Selenium,Selenium Webdriver,Selenium Chromedriver,请让我知道我遗漏了什么。对于标题,您可以使用driver.getTitle()当您看到您的页面仅在浏览器标题栏中显示主页的标题时,框架内页面的标题将不可见。对于不可见元素,getText()将返回空字符串 您应该使用getAttribute('textContent')来处理可见和不可见元素。但不要滥用它,通常使用getText()来尽可能接近用户体验。试试title.getAttribute(“innerHTML”)尝试title.getAttribute(“innerHTML”)修改这行We
driver.getTitle()代码>当您看到您的页面仅在浏览器标题栏中显示主页的标题时,框架内页面的标题将不可见。对于不可见元素,getText()
将返回空字符串
您应该使用getAttribute('textContent')
来处理可见和不可见元素。但不要滥用它,通常使用getText()来尽可能接近用户体验。试试title.getAttribute(“innerHTML”)代码>尝试title.getAttribute(“innerHTML”)
修改这行WebElement title=html.findElement(By.tagName(“title”)代码>带有WebElement title=frame.findElement(按.tagName(“title”))代码>谢谢@RafałLaskowski,谢谢worked@user987316我补充了这个评论作为回答。请接受它:)
<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>
//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.