2012-07-19 88 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

相关问题