selenium对js的执行操作——selenium控制浏览器页面的滚动

 调用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代码来移动滚动条的位置。

posted @ 2019-09-27 18:20  Hiro-D  阅读(953)  评论(0编辑  收藏  举报