繁体   English   中英

Selenium Webdriver:使用Javascript滚动到顶部

[英]Selenium Webdriver : Scroll to the top using Javascript

我正在将Selenium Webdriver与javascript和node.js一起使用

在测试的某些步骤中,我必须自动单击页面顶部的按钮。

但是当我做一些先前的处理时, 页面会自动滚动到bootom ,结果我的按钮(在顶部)不再显示,所以我正在捕获此错误:

Uncaught WebDriverError: unknown error: Element <li>...</li> is not clickable at point (707, 10). Other element would receive the click: <li class="menumain crm-Campaigns" tabindex="11">...</li>

通过谷歌搜索,我发现我应该滚动到顶部使按钮出现。

我该怎么做?

试试下面的代码,您将可以向上滚动:

WebDriver driver = new FirefoxDriver();
JavascriptExecutor jse = (JavascriptExecutor)driver;

jse.executeScript("window.scrollBy(0,-250)", "");
OR,
jse.executeScript("scroll(0, -250);");

在javascript中:

window.scrollTo(0, 0);

这将滚动到页面的左上角。 但是在大多数情况下,这将等同于顶部。

无需移至页面顶部,即可获取按钮的xpath或ID。 这里的代码显示了使用硒单击按钮的情况。 WebDriver driver = new FirefoxDriver(); JavascriptExecutor jse = (JavascriptExecutor)driver; jse.executeScript("document.getElementById('button').click();");

要滚动,请使用下面的代码jse.executeScript("window.scrollBy(0,-200)", "");

我这样做是这样的:

driver.executeScript('scroll(0, -250);').then(function() {
    driver.sleep(3000);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM