2012-07-19 87 views

回答

6

可以垂直向下通過使用以下代碼滾動:

((JavascriptExecutor) driver).executeScript("scroll(0,250);"); 

類似地,還可以通過改變y座標爲負向上滾動:

((JavascriptExecutor) driver).executeScript("scroll(0, -250);"); 

也可以使用的以下代碼: 向下滾動:

((JavascriptExecutor) driver).executeScript("window.scrollBy(0,250)", ""); 

對於滾動起來:

((JavascriptExecutor) driver).executeScript("window.scrollBy(0, -250)", ""); 
+0

如何知道滾動完成的時間? – Edgar 2015-08-11 12:41:28

+0

爲了使某個元素有時需要滾動顯示。例如,您要單擊位於頁面底部的元素。在這種情況下,它需要向下滾動。點擊成功後,表示滾動已完成,底部的鏈接可見。 – 2015-08-12 04:59:26

7

滾動到頁面的元素:

((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();" 
                   ,webElement); 
+0

太棒了,這個效果很好。我一直在嘗試這個好幾個小時,其他選項都沒有工作 – Kalle 2013-10-17 15:00:47

2

滾動起來應該如下:

((JavascriptExecutor) driver).executeScript("scroll(0,-250);"); 
+0

Caren是對的。不需要改變x座標。 y座標應爲負值以向上滾動。 – 2015-07-07 07:47:13

0

如果你是不確定頁面的高度,你會滾動到下面的部分頁面,您可以找到該網頁的主要框架,並使用下面的代碼,而無需使用滾動或scrollBy

scr1 = driver.find_element_by_xpath('xpath') 
driver.execute_script("arguments[0].scrollTop = arguments[0].scrollHeight", scr1) 

這將自動轉到遠頁面向下滾動。你可以看到一個例子here

相關問題