我有一个页面进行一些处理并显示进度条。
我想在进度条填充至少 50% 宽度时按取消按钮。
如何创建自定义等待条件?
driver.findElement(By.id('bar')).then(function (stateEl) {
// driver.wait(until. ?? By.xpath?
}).then(done);
最佳答案
您可以使用显式的 driver.wait
功能,在其中返回 true
或 false
值来释放或保留驱动程序。
你可以这样做:
driver.wait(function() {
return Promise.all([
driver.findElement(progressBarWrapper).getSize(),
driver.findElement(progressBar).getSize()
]).then(function(sizes) {
return (sizes[0].width / 2) <= sizes[1].width;
});
}, timeout);
我假设,您有一个包装器(一个用于进度条的框,其宽度是进度条的最大宽度)和实际的进度条。
关于javascript - Selenium:WAITING元素的宽度大于X,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43116098/