【问题标题】:How to scroll down using Selenium WebDriver with Java如何使用 Selenium WebDriver 和 Java 向下滚动
【发布时间】:2013-04-14 22:55:27
【问题描述】:

我想向下滚动我的网页,我正在使用此代码滚动页面,但它不起作用

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

寻求帮助

【问题讨论】:

标签: java selenium selenium-webdriver


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    向下滚动:

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

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

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

    【讨论】:

      【解决方案3】:

      滚动直到找到WebElement

      试试这个:

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

      【讨论】:

        【解决方案4】:
        WebElement element = driver.findElement(By.xpath("//input [@id='giveid']"));
        
        ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", element);
        

        使用这个。这将帮助您在特定元素处向下滚动。我什至在我的网站上测试过。它工作正常。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-10-11
          • 2012-03-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-08-30
          • 1970-01-01
          相关资源
          最近更新 更多