如何使用Selenium WebDriver与Java向下滚动

时间:2013-04-22 05:57:51

标签: java selenium selenium-webdriver

我想向下滚动我的网页,我使用此代码滚动页面,但它无法正常工作

public ViewBasketSentToMePageObject viewSlideShare() throws InterruptedException {

    Thread.sleep(500l);

    Actions action1 =new Actions(getDriver());
    action1.keyDown(Keys.CONTROL).sendKeys(String.valueOf('\u0030')).build().perform();

    List<WebElement> function = getDriver().findElements(By.xpath("//a [@ng-click='onItemClick()']"));
    function.get(13).findElement(By.xpath("//img [@ng-src='resources/images/slideshare-icon-small.png']")).click();

    return getFactory().create(ViewBasketSentToMePageObject.class);
}

寻求帮助

4 个答案:

答案 0 :(得分:23)

尝试使用下面的简单java脚本,您可以滚动页面。

JavascriptExecutor jsx = (JavascriptExecutor)driver;
jsx.executeScript("window.scrollBy(0,450)", "");

答案 1 :(得分:6)

向下滚动:

WebDriver driver = new FirefoxDriver();
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("scroll(0, 250);");

或者,您可以执行以下操作:

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

答案 2 :(得分:0)

滚动,直到找到WebElement

试试这个:

((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", your_WebElement);

答案 3 :(得分:0)

WebElement element =

driver.findElement(By.xpath("//input [@id='giveid']"));

((JavascriptExecutor)

driver).executeScript("arguments[0].scrollIntoView();". element);

使用它。这将帮助您向下滚动特定元素。我甚至在我的网站上测试过。它工作正常。有关更多信息,请参阅我的网站imo for pc