虽然webdriver提供了操作浏览器的前进和后退的方法:
driver.refresh() #刷新
driver.back() #浏览器回退
driver.forward() #前进
driver.close() #关闭当前页面,只作用于当前句柄窗口
driver.quit() #关闭浏览器
但对于浏览器滚动条并没有提供相应的操作方法,以下使用的方法:
借助JavaScript来控制浏览器的滚动条,webdriver提供了execute_script()方法来执行JavaScript代码。
//x(水平的左间距),y(垂直的上边距)分别为横纵坐标,单位px
window.scrollTo(x,y)
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()
滑倒最底部:
window.scrollTo(0,document.body.scrollHeight)
driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")