Java 等待该方法返回Selenium

Java 等待该方法返回Selenium,java,selenium,Java,Selenium,我是硒的新手,我有这样的方法 public Test login(String username,String password) { accountName.sendKeys(username); passwordField.sendKeys(password); signInButton.click(); return PageFactory.initElements(driver,Test.class); } 登录可能需要一些时间才能完成。我希望我能等

我是硒的新手,我有这样的方法

public  Test login(String username,String password)
{
    accountName.sendKeys(username);
    passwordField.sendKeys(password);

    signInButton.click();
    return PageFactory.initElements(driver,Test.class);
}

登录可能需要一些时间才能完成。我希望我能等到
login
方法返回后再调用其他方法。在selenium中有什么方法可以做到这一点吗?

您有几个选项可以解决这个问题。我建议您添加一个流畅的等待:

   Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
       .withTimeout(30, SECONDS)
       .pollingEvery(1, SECONDS)
       .ignoring(NoSuchElementException.class);

   WebElement foo = wait.until(new Function<WebDriver, WebElement>() {
     public WebElement apply(WebDriver driver) {
       return driver.findElement(By.id("foo"));
     }
   });
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);