Java HTML dom中存在多个主体节点,因此Selenium无法在dom中找到该元素
我正在尝试自动化一个有多个HTML头和体标记的应用程序。下面是提供的示例。我尝试了使用xpath、id、类等所有可能的方法。它不能单独用于此应用程序,因为它是DOM中嵌入的HTML页面。我猜,JavaScript会在页面中加载一个新的HTML页面 尽管XPath在Chrome浏览器中工作,但当我将其放入脚本并运行时,它会引发一个异常: 线程“main”org.openqa.selenium.NoSuchElementException中出现异常:无法找到元素://*[text()='Continue'] 如何解决这个问题 HTML DOM示例:Java HTML dom中存在多个主体节点,因此Selenium无法在dom中找到该元素,java,html,selenium,xpath,selenium-webdriver,Java,Html,Selenium,Xpath,Selenium Webdriver,我正在尝试自动化一个有多个HTML头和体标记的应用程序。下面是提供的示例。我尝试了使用xpath、id、类等所有可能的方法。它不能单独用于此应用程序,因为它是DOM中嵌入的HTML页面。我猜,JavaScript会在页面中加载一个新的HTML页面 尽管XPath在Chrome浏览器中工作,但当我将其放入脚本并运行时,它会引发一个异常: 线程“main”org.openqa.selenium.NoSuchElementException中出现异常:无法找到元素://*[text()='Contin
<html class="UShellFullHeight">
<head>
<style id="antiClickjackStyle" type="text/css">
body {
display : none !important;
}
</style>
</head>
<body class="UiBody UShellFullHeight" role="application">
<div id="canvas" class="UShellFullHeight"></div>
#document
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html id="home" lang="EN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
.
.
.
<span id="WD8A-cnt" class="urNoUserSelect lsButton--contentlsControl--centeraligned urBtnCnt" style="pointer-events:none;">
<span class="lsButton__text " id="WD8A-caption" style="white-space:nowrap;">Continue</span>
</span>
</body>
</html>
</body>
</html>
身体{
显示:无!重要;
}
#文件
.
.
.
继续
尝试使用标签:
//span[text()='Continue']
或
此示例的最佳解决方案是使用id,此元素的id为:
driver.findElement(By.id("WD8A-caption"));
或者这个xpath是相同的
//span[@id='WD8A-caption']
尝试手动创建xpath 或
元素有id,还有类名driver.findElement(By.className(“lsButton\uu text”))非常感谢大家抽出时间。我自己得到了答案。 答案是我需要切换框架并对元素进行操作 切换帧
driver.switchTo().frame("id");
在截短HTML的同时,你已经从HTML中截取了相关的有用的
。是的,我特意这样做是为了让事情变得清晰。我希望这是可以理解的。如果没有,帮我这里还需要什么谢谢大家。我无论如何都得到了答案,我尝试了使用id、xpath和类的所有可能性。它并不特别适用于这个应用程序,因为它是HTML页面中嵌入的HTMLpage。