webdriver提供了操作浏览器的前进和后退的方法,但是对于浏览器公东条并没有提供相应的操作方法。于是就需要借助JavaScript来控制浏览器的滚动条。webdriver提供了execute_sript()方法来执行JavaScript代码。
一般必须使用滚动条的场景是:注册时的法律文件条文阅读。判断用户是否阅读完的标准是:滚动条是否拉倒页面底部。为了使操作更接近用户行为也会使用滚动条,例如用户操作的元素在页面的第二屏,一般用户不会对看不到的元素进行操作,那么需要现将滚动条拖动到页面的第二屏在进行操作。
window.scrollTo()方法用于设置浏览器窗口滚动条的水平和垂直位置。方法的第一个参数表示水平的左间距,第二个参数表示垂直的上边距。其代码如下
from selenium import webdriver from time import sleep import time # 访问百度 driver = webdriver.Firefox () driver.get("http://www.baidu.com") # 控制浏览器大小 driver.set_window_size(600,600) # 收索 driver.find_element_by_id("kw").send_keys("你好") driver.find_element_by_id("su").click() time.sleep(2) # 通过javascript设置浏览器窗口的滚动条 注:window.scrollTo(水平滚动条的距离,垂直滚动条的距离) js = "window.scrollTo(450,0);" driver.execute_script(js) time.sleep(5) driver.quit ()
更多参考的文章:https://blog.csdn.net/cxx654/article/details/79949366
可以多学习javascript的知识