selenium+python 自动化中界面滚动条操作方法

虽然webdriver提供了操作浏览器的前进和后退的方法,但对于浏览器滚动条并没有提供相应的操作方法,以下使用的方法:

借助JavaScript来控制浏览器的滚动条,webdriver提供了execute_script()方法来执行JavaScript代码。

其实我们操作滚动条一般使用的场景:注册时的法律条文的阅读;

<!--window.scrollTo(左边距,右边距);-->

window.srollTo(0,650);

 

window.scrollTo()方法用于设置浏览器窗口滚动条的水平和垂直位置。方法的第一个参数表示水平的左间距,第二个参数表示垂直的上边距。

我们一下用百度的界面做演示,代码如下:

from selenium import webdriver

from time import sleep

#访问百度

driver = webdriver.Firefox()

driver.get("http://www.baidu.com")

#设置浏览器窗口

driver.set_window_size(600,600)

#搜索

driver.find_elelment_by_id('kw').send_keys('selenium')

driver.find_element_by_id("su").click()

#通过JavaScirpt设置浏览器窗口的滚动条位置

js = "window.scrollTo(100,450)"

driver.execute_script(js)

sleep(3)

driver.quit()

 

通过浏览器打开百度进行搜索,并且提前通过set_window_size()方法将浏览器窗口设置为固定狂傲显示。目的是让窗口出现水平和垂直滚动条。然后通过execute_script()方法执行JavaScripts代码来移动滚动条的位置;

 

posted on 2017-03-17 17:25  梦魇一生  阅读(1290)  评论(0编辑  收藏  举报