selenium之滚动条操作方法
1、滚动条操作方法
selenium可以完成浏览器页面的大部分操作,实现不了页面滚动条的操作;此时需要使用selenium调用简单的 js 实现滚动条操作(js全称JavaScript,js是运行在浏览器的解释型编程语言)
滚动条可以上下拉动:
下拉:js = 'window.scrollTo(x,y)' (x代表水平距离,y代表竖直距离)
上拉:js = 'document.documentElement.scrollTop=n' (n代表滚动条到浏览器顶部的距离)
如下代码,实现一个网页持续下拉
# 导入模块 from selenium import webdriver import time # 创建浏览器,默认最大化 driver = webdriver.Firefox() driver.maximize_window() # 访问地址 driver.get('https://www.hao123.com/') # 单次滚动条下拉操作 """ 格式:js = 'window.scrollTo(x,y)' driver.execute_script(js) 其中js中的x代表水平距离,y代表竖直距离,第二句意思是执行js""" js = 'window.scrollTo(0,1000)' driver.execute_script(js) time.sleep(2) # 持续滚动条下拉操作 for i in range(20): js_1 = 'window.scrollTo(0,%s)' % (i * 100) driver.execute_script(js_1) time.sleep(1) # 持续往回滚动滚动条(上拉) """格式:js = 'varq = document.document_Element.scrollTop=n' 其中,n为滚动条距离顶部的位置""" for i in range(20): js_2 = 'var q = document.documentElement.scrollTop=%s' % (2000 - i*100) driver.execute_script(js_2) time.sleep(1) # 关闭浏览器 driver.quit()