[英]webdriverio wait for page to load
有没有办法让 webdriverio 等待页面加载? 我看到在 java 我可以有类似的东西:
executeScript("return document.readyState").equals("complete"));
或者
driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
有没有办法在 webdriverio 中做到这一点? 我知道我可以使用等待来等待特定元素,但我正在寻找一种方法来等待整个页面加载
我们可以使用关键字 waitUntil( https://webdriver.io/docs/api/browser/waitUntil.html ) 来完成这项工作。
有关 document.readyState 属性的详细信息,请参阅此处( https://developer.mozilla.org/en-US/docs/Web/API/Document/readyState )
代码:
browser.waitUntil(function () {
const state = browser.execute(function () {
return document.readyState;
});
//console.log("state:" + state)
return state === 'complete';
},
{
timeout: 60000, //60secs
timeoutMsg: 'Oops! Check your internet connection'
});
您可以将browser.setTimeout({ 'pageLoad': 10000 })
添加到之前的wdio.conf.js
文件中before: function
有关详细信息,请参阅https://webdriver.io/docs/timeouts.html 。
@Sadeesh 代码的简化版:
browser.waitUntil(
() => browser.execute(() => document.readyState === 'complete')),
{
timeout: 60*000, // 60 secs
timeoutMsg: 'Message on failure'
}
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.