在 Webdriver.io v4 中使用 scroll()

Using scroll() in Webdriver.io v4

我的代码登录到 mediawiki 的测试版站点,转到 Preferences 页面并尝试点击底部的按钮页面的。

我正在尝试使用 scroll() 来实现这一点,因为只有 运行ning .click() 会导致错误,类似于下面的错误。问题是 .scroll() 似乎没有任何效果。

我使用的是 WebdriverIO 版本 4。

我试过的:

  1. 我只用 elem.click() 尝试过这个测试,没有任何滚动,这导致了一条类似于下面的消息,其中元素不可点击。

  2. 当我 运行 没有 elem.click() 的代码时,测试通过了,但我根本看不到页面滚动(我添加 browser.pause( 9000);到最后检查).

  3. 当我 运行 .scroll() 并向其传递值时,例如 elem.scroll(0,500),页面会向下滚动,但不足以看到实际元素。

  4. 我试过 .moveToObject() 似乎向下滚动页面,但不足以 see/interact 元素。我也尝试过将值传递给它,但它没有用。


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();

});

我在运行代码的时候,报这个错误:

unknown error: Element ... is not clickable at point (602, 571). Other element would receive the click: ... running chrome Error: An unknown server-side error occurred while processing the command. at elementIdClick("0.7032716938931156-1") - click.js:20:22

你试过scrollIntoView了吗?如果不试试这个:selector 这里会是 '#ooui-php-41'

        browser.execute(elem => elem.scrollIntoView(), browser.element(selector).value);