6 调用JavaScript代码
虽然WebDriver提供了操作浏览器的前进和后退方法,但对于浏览器滚动条并没有提供相应的操作方法。在这种情况下,就可以借助JavaScript来控制浏览器的滚动条。WebDriver提供了execute_script()方法来执行JavaScript代码。
用于调整浏览器滚动条位置的JavaScript代码如下:
window.scrollTo(0,450); window.scrollTo()方法用于设置浏览器窗口滚动条的水平和垂直位置。方法的第一个参数表示水平的左间距,第二个参数表示垂直的上边距。其代码如下:
from selenium import webdriver
import time
url = 'https://www.hao123.com/'
driver = webdriver.Firefox()
driver.get(url)
for i in range(100):
# 滚动到固定位置
js = 'window.scrollTo(0,%s)'%(100*i)
# 滚动到距离顶部指定长度
# js = "var q=document.documentElement.scrollTop=%s"%(100*i)
driver.execute_script(js)
time.sleep(0.1)
time.sleep(5)
driver.quit()
通过浏览器打开百度进行搜索,然后通过execute_script()方法执行JavaScripts代码来移动滚动条的位置。