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

 调用JavaScript代码

虽然WebDriver提供了操作浏览器的前进和后退方法,但对于浏览器滚动条并没有提供相应的操作方法。在这种情况下,就可以借助JavaScript来控制浏览器的滚动条。WebDriver提供了execute_script()方法来执行JavaScript代码。

用于调整浏览器滚动条位置的JavaScript代码如下:

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

from selenium import webdriverimport timeurl = 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代码来移动滚动条的位置。

相关文章