问题:在 Protractor 和 CoffeeScript 中无法访问 WebDriverJS 等待“直到”

我需要等待模式关闭,所以我在等待没有元素。我正在尝试做这样的事情:

browser.driver.wait until.stalenessOf(By.css '.modal-header')

不幸的是,Coffeescript 保留了until。所以我尝试使用:

browser.driver.wait browser.driver.until.stalenessOf(By.css '.modal-header')

但它是未定义的(即until)。browser.driver存在,但不包含until

如何访问 until 对象?另外,是否有另一种方法可以等到页面上不再存在元素?

解答

您可以改用isPresent()函数:

browser.wait ->
  not element(By.css '.modal-header').isPresent()
,
  5000

注意:isPresent()在完成隐式等待元素之前不会返回 false,因此如果您将browser.manage().timeouts().implicitlyWait属性设置得非常高,您可能需要暂时降低其值。

Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐