我的代码登录到 mediawiki 的Beta版站点,转到“首选项” 页面,然后尝试单击页面底部的按钮。
我正在尝试使用scroll()来实现此目的,因为仅运行.click()
会导致错误,类似于以下内容。问题在于.scroll()
似乎没有任何作用。
我正在使用WebdriverIO的版本4。
我尝试过的事情:
我仅用elem.click()
进行了该测试,没有任何滚动,这导致出现类似于以下内容的消息,其中该元素不可单击。
当我在不使用elem.click()
的情况下运行代码时,测试通过了,但是我根本看不到页面滚动(我将browser.pause( 9000);
添加到末尾进行检查)。
当我运行.scroll()
并将其值传递给elem.scroll(0,500)
时,页面确实会向下滚动,但不足以看到实际的元素。
我尝试过.moveToObject()
,它似乎可以向下滚动页面,但不足以查看/与元素交互。我也尝试过将值传递给它,但是没有用。
it( 'should demonstrate the scroll command on the Preferences Page ', function () {
// login
browser.url( 'https://en.wikipedia.beta.wmflabs.org/w/index.php?title=Special:UserLogin&returnto=Main+Page' );
var loginName = $( '#wpName1' );
var loginPass = $( '#wpPassword1' );
var loginBtn = $( '#wpLoginAttempt' );
loginName.setValue( 'Ephemeraltest' );
loginPass.setValue( 'vagrant123' );
loginBtn.click();
// click button at bottom of preferences page
browser.url( 'https://en.wikipedia.beta.wmflabs.org/wiki/Special:Preferences' );
var elem = $( '#ooui-php-41' );
elem.scroll();
elem.click();
});
运行代码时,报告此错误:
未知错误:元素... 在点(602,571)不可点击。其他元素将收到 点击:...正在运行chrome错误: 处理命令时发生未知的服务器端错误。 在elementIdClick(“ 0.7032716938931156-1”)-click.js:20:22
答案 0 :(得分:1)
您是否尝试过scrollIntoView
?如果没有尝试,请执行以下操作:selector
这里就是'#ooui-php-41'
browser.execute(elem => elem.scrollIntoView(), browser.element(selector).value);