Selenium Webdriver:使用Javascript滚动到顶部

时间:2017-05-05 10:47:56

标签: javascript selenium selenium-webdriver nodes

我使用Selenium webdriver和javascript&的node.js

在测试的某个步骤中,我必须自动点击页面顶部的buuton。

但是,由于我正在做一些以前的处理,页面自动滚动到bootom ,结果我的按钮(在顶部)不再出现​​,所以我&#39 ; m抓住这个错误:

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>

通过一些谷歌搜索我应该滚动到顶部以显示按钮。

我怎么做?

4 个答案:

答案 0 :(得分:1)

尝试以下代码,您可以向上滚动:

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

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

答案 1 :(得分:1)

在javascript中:

window.scrollTo(0, 0);

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

答案 2 :(得分:0)

不要进入页面顶部,而是抓住按钮的xpath或id。 此处的代码显示使用selenium单击按钮。 WebDriver driver = new FirefoxDriver(); JavascriptExecutor jse = (JavascriptExecutor)driver; jse.executeScript("document.getElementById('button').click();");

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

答案 3 :(得分:0)

我是这样做的:

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