Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Selenium中加载页面后在Chrome浏览器中搜索元素_Java_Google Chrome_Selenium - Fatal编程技术网

Java 在Selenium中加载页面后在Chrome浏览器中搜索元素

Java 在Selenium中加载页面后在Chrome浏览器中搜索元素,java,google-chrome,selenium,Java,Google Chrome,Selenium,我试图在特定页面上加载页面后在Chrome中搜索元素。然而,当我检查页面时,我注意到一旦页面加载,HTML标记就不会动态加载。因此,驱动程序在页面加载后搜索元素,可用的元素仍然是页面加载前存在的元素,搜索失败。我已经尝试了所有的定位技术。还使用Thread.sleep和wait命令等待页面加载,但没有效果。请告诉我是否有其他方法解决此问题。即使您的问题可能不完整,但(据我所知)等待java页面加载的最佳方法是: new WebDriverWait(firefoxDriver, pageLoadT

我试图在特定页面上加载页面后在Chrome中搜索元素。然而,当我检查页面时,我注意到一旦页面加载,HTML标记就不会动态加载。因此,驱动程序在页面加载后搜索元素,可用的元素仍然是页面加载前存在的元素,搜索失败。我已经尝试了所有的定位技术。还使用
Thread.sleep
wait
命令等待页面加载,但没有效果。请告诉我是否有其他方法解决此问题。

即使您的问题可能不完整,但(据我所知)等待java页面加载的最佳方法是:

new WebDriverWait(firefoxDriver, pageLoadTimeout).until(
      webDriver -> ((JavascriptExecutor) webDriver).executeScript("return document.readyState").equals("complete"));

在大多数情况下,我尝试通过使用id、xpath或name查找元素来检查元素是否显示和启用。 您可以将其添加到代码中,并应用断点。它可能在那里,但也可能被隐藏。如果没有错误跟踪,就很难知道是什么导致了问题。希望这有帮助

WebElement element = driver.findElement(By.xpath);
if (element.isDisplayed() && element.isEnabled()) {
    element.click();
}

请提供您的代码试用版和相关HTML。寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。这可能是应用程序中的缺陷吗?