2013-04-22 28 views
11

我想使用此代碼滾動頁面向下滾動我的網頁和IM它不工作如何,但向下滾動使用硒的webdriver與Java

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

尋找幫助

+2

您的問題早先在這裏解決:http://stackoverflow.com/questions/12293158/page-scroll-up-or-down-in-webdriver-selenium-2-using-java – maximkou 2013-04-22 06:12:13

回答

19

嘗試使用簡單下面的java腳本,你可以滾動頁面。

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

對於向下滾動:

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

或者,你可以做如下:

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

滾動,直到找到WebElement

試試這個:

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

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

((JavascriptExecutor) 

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

使用這個。這將幫助您向下滾動特定元素。我甚至在我的網站上進行過測試。它工作正常。有關更多信息,請參閱我的網站imo for pc