Webdriver.io 的 Selenium Fluentwait 实现

Selenium Fluentwait implementation for Webdriver.io

是否有可用于 WebdriverIO 的 FluentWait 实现?

寻找类似于 Selenium Java FluentWait 实现的东西,例如下面的一个:

Wait wait = new FluentWait(WebDriver reference)
  .withTimeout(timeout, SECONDS)
  .pollingEvery(timeout, SECONDS)
  .ignoring(Exception.class);

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

我尝试搜索各种文档,但找不到对应的文档。谢谢!

你可以使用 waitUntil api

    it('should wait until element is existing for 5000ms with 250ms polling', () => {
      browser.waitUntil(() => {
         return $('#someText').isExisting();  // condition
       }, 5000, 'expected element to be exist after 5s', 250);
    });

它没有忽略异常,但也许您可以在条件函数中添加 try catch。但它将提供所有其他功能。