我正在测试我的Ionic应用程序。
在一个页面中,要单击的按钮超出了窗口的范围。 因此,以下代码:
element.all(by.css('.item.item-complex')).get(9).click();
抛出错误:
ElementNotVisibleError:元素不可见
因此,我试图向下滚动页面以使按钮在页面中可见,然后尝试模拟其上的点击。我使用以下代码:
browser.executeScript('window.scrollTo(0, 200);').then(function() {
element.all(by.css('.item.item-complex')).get(9).click();
expect(browser.getTitle()).toEqual('Vegeta The Prince');
});
但上面的代码没有发生滚动。请帮忙!
我正在使用谷歌浏览器。
答案 0 :(得分:4)
当我遇到这样的问题时,我滚动到视图:
var elm = element.all(by.css('.item.item-complex')).get(9);
browser.executeScript("arguments[0].scrollIntoView();", elm.getWebElement());
elm.click();
答案 1 :(得分:2)
我使用
解决了这个问题window.scrollTo(x, y)
代码:
var elm = element.all(by.css('.item.item-complex')).get(9);
elm.getLocation()
.then(function (location) {
return browser.executeScript('window.scrollTo(' + location.x + ', ' + location.y + ');')
})
.then(function () {
return elm.click();
})
})