滚动不适用于网络上的webdriver.io

时间:2017-04-18 20:52:41

标签: selenium selenium-webdriver webdriver-io webautomation

我无法使用webdriver.io向下滚动。没有收到任何错误消息,只是没有滚动。我尝试过Webdrver.io docs的不同解决方案:

it('should demonstrate the scroll command', function () {
    var elem = $('#myElement');
    // scroll to specific element
    elem.scroll();
    // scroll to specific element with offset
    // scroll offset will be added to elements position
    elem.scroll(100, 100);
    // scroll to specific x and y position
    browser.scroll(0, 250);
});

不是它们有效,有什么建议吗?

3 个答案:

答案 0 :(得分:0)

// Create instance of Javascript executor

JavascriptExecutor je = (JavascriptExecutor) driver;

//Identify the WebElement which will appear after scrolling down

WebElement e=driver.findElement(By.xpath("//*[@id='content-5']"));
je.executeScript("arguments[0].scrollIntoView(true);",e);

答案 1 :(得分:0)

我正在使用v4和browser.scroll()也不适合我。

我改用Actions-> moveToObject,它成功滚动到该元素。

这是我的代码的样子。

browser.moveToObject('#id-of-my-element');

答案 2 :(得分:-1)

您可以使用moveToElement()类的Actions方法将鼠标移动到指定的元素。

例如:

WebElement element= driver.findElement(By.name("Name"));

Actions builder = new Actions(driver);

builder.moveToElement(element).build().perform();

您还可以使用MoveToElement()将鼠标移动到指定元素左上角的指定偏移量。 语法:MoveToElement(IWebElement, Int32, Int32);

Actions.htm