这不是重复的,因为我已经阅读了与此相关的其他问题,但它没有给我我正在寻找的答案。
我正在使用 Selenium 在 Java 中实现 UI 自动化。
我的代码是这样的:
WebDriver driver;
public MyClass()
{
UIEvents auto = new UIEvents();
driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.get("my URL");
LoginPage loginPage = new LoginPage(driver, auto);
waitForPageLoad();
loginPage.setEmail("aaa@aa.a");
loginPage.setPassword("1234");
loginPage.clickLogin();
}
public void waitForPageLoad()
{
JavascriptExecutor js = (JavascriptExecutor)driver;
final boolean response = js.executeScript("return document.readyState").equals("complete");
if(response == false)
{
waitForPageLoad();
}
}
这仍然会给我一个错误,因为它正在搜索仍然不存在的元素。
最佳答案
您还可以等待,直到所需的元素出现、可见、可点击......
waitFor(ExpectedConditions.presenceOfElementLocated(By.id("yourMailInputId")));
关于java - 如何在获取元素之前等待页面加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37203068/