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

Posted Hiro-D

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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代码来移动滚动条的位置。

以上是关于selenium对js的执行操作——selenium控制浏览器页面的滚动的主要内容,如果未能解决你的问题,请参考以下文章

python+selenium--环境搭建

04-selenium 八大元素定位方法

python --selenium+phantomjs爬取动态页面广告源码

Selenium与WebDriver的关系

软件测试开发学习之旅----Selenium

12 Python+selenium对日期控件进行处理(采用执行JS脚本)