javascript - Selenium-webdriver (Java Script) 等待元素消失

标签 javascript selenium-webdriver

driver.wait(until.elementIsPresent(By.css(".popup-backdrop fade")), 15000);

我该怎么做相反的事情?我想等到“.popup-backdrop fade”叠加层消失,然后再单击一个元素。

我正在使用 Selenium-webdriver(使用 Javascript 而不是使用 Java、Python 或 C#)

最佳答案

在代码源中没有找到负等待。一种解决方案是实现您自己的条件:

var webdriver = require('selenium-webdriver');
var until = webdriver.until;
var By = webdriver.By;

until.elementIsNotPresent = function elementIsNotPresent(locator) {
  return new until.Condition('for no element to be located ' + locator, function(driver) {
    return driver.findElements(locator).then(function(elements) {
      return elements.length == 0;
    });
  });
};

driver.wait(until.elementIsNotPresent(By.css(".popup-backdrop fade")), 15000);

关于javascript - Selenium-webdriver (Java Script) 等待元素消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36484053/

相关文章:

javascript - 如何通过单击 anchor 元素来发布表单

java - 如何使用 selenium 将 javascript 文件加载到 DOM 中?

python - 使用 selenium webdriver 切换回父选项卡

python - 单击 pyqt 按钮后立即停止加载页面 selenium

selenium-webdriver - 更改Edge Chrome的默认下载位置

javascript - jquery 将焦点放在动态内容上?

javascript - Highcharts 不通过 Angular Controller 显示图表

python - selenium 中的窗口处理(python)

javascript - 如何在模式中将社交媒体按钮作为标题

javascript - 重新建立点击按钮样式