Selenium webdriver Wait-related-selenium Java代码执行下一个命令,即使页面没有按照上一个命令加载

Selenium webdriver Wait-related-selenium Java代码执行下一个命令,即使页面没有按照上一个命令加载,selenium-webdriver,Selenium Webdriver,代码的第四行被执行,尽管页面没有按照第三行代码加载。因此它失败了 请在简单代码中建议一些等待方法,因为我是新手。您可以在代码的第四行之前使用隐式等待: driver2.findElement(By.id("txtPassword")).sendKeys("password123"); driver2.findElement(By.id("btnLogon")).click(); driver2.findElement(By.id("Process_navItem")).click(); driv

代码的第四行被执行,尽管页面没有按照第三行代码加载。因此它失败了


请在简单代码中建议一些等待方法,因为我是新手。

您可以在代码的第四行之前使用隐式等待:

driver2.findElement(By.id("txtPassword")).sendKeys("password123");
driver2.findElement(By.id("btnLogon")).click();
driver2.findElement(By.id("Process_navItem")).click();
driver2.findElement(By.id("revit_navigation_NavItem_0")).click();
您可以在上述代码中增加秒数。我已经设定了30秒

如果上述等待不起作用,则您也可以按照以下要求使用等待:

driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

这可能是AJAX调用的问题…按照@Help Hands的建议执行
 WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("revit_navigation_NavItem_0")));