错误:3005毫秒后等待超时
我使用window.scrollTo(0,200)
向下滚动网页。代码如下:
browser.wait(function() {
browser.executeScript('window.scrollTo(0,200);').then(function () {
})
}, 3000);
向下滚动要求: NFAR它应该在等待3000毫秒后向上滚动。
要向上滚动,我编写了如下代码
browser.wait(function() {
browser.executeScript('window.scrollTo(0,-200);').then(function () {
})
}, 10000);
多个browser.wait
会导致错误吗?请提出一些最佳方法。
答案 0 :(得分:3)
最后我找到了解决方案!!
我发现以下代码有助于删除错误。
var elm = element.all(by.css('.your-css-class')).get(9);
browser.executeScript("arguments[0].scrollIntoView();", elm.getWebElement());
elm.click();
基本上这可以让你滚动到你的视图..
答案 1 :(得分:3)
browser.wait
不会等待'在执行一些动作之后。它是一个函数来保持重试函数,直到它返回true或达到指定的超时(如果达到超时它将引发错误)。
由于您没有在功能中返回任何内容,因此它将始终返回' undefined'因此永远不会是真的,并且会抛出它在3000毫秒内超时的错误。
您可能想要的代码使用browser.sleep
browser.executeScript('window.scrollTo(0,200);').then(function() {
browser.sleep(3000);
}).then(function() {
browser.executeScript('window.scrollTo(0,0);');
});
答案 2 :(得分:1)
量角器上有open issue与此有关。 也许这会对你有所帮助:
browser.executeScript('window.scrollTo(0,200);').then(function () {
browser.executeScript('window.scrollTo(0,0);').then(function () {
// ...
})
})