python selenium webdriver处理浏览器滚动条

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python selenium webdriver处理浏览器滚动条相关的知识,希望对你有一定的参考价值。

 

用键盘右下角的UP,DOWN按键来处理页面滚动条 这种方法很灵活用起来很方便!!!!

from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
#访问百度
driver=webdriver.Chrome()
driver.get("http://www.baidu.com")
#搜索
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
time.sleep(3)
#通过按向下键将页面滚动条拖到底部
driver.find_element_by_xpath("//*[@id=‘page‘]/a[10]").send_keys(Keys.DOWN)
print 将滚动条拉到底端
time.sleep(2)
driver.find_element_by_xpath("//*[@id=‘s_tab‘]/a[9]").send_keys(Keys.UP)
print 将滚动条拉到上端
time.sleep(2)
driver.find_element_by_xpath("//*[@id=‘con-ar‘]/div[3]/a").send_keys(Keys.DOWN)
print 将滚动条拉到中间

 

还可以调过JS脚本来处理滚动条,但是这一种方法我试了很多次都没有成功,也不报错,就是没反应,不知道是为什么!

#coding=utf-8  
from selenium import webdriver  
import time  
#访问百度  
driver=webdriver.Firefox()  
driver.get("http://www.baidu.com")  
#搜索  
driver.find_element_by_id("kw").send_keys("selenium")  
driver.find_element_by_id("su").click()  
time.sleep(3)  
#将页面滚动条拖到底部  
js="var q=document.documentElement.scrollTop=100000"  
driver.execute_script(js)  
time.sleep(3)  
#将滚动条移动到页面的顶部  
js="var q=document.documentElement.scrollTop=0"  
driver.execute_script(js)  
time.sleep(3)  
#将页面滚动条移动到页面任意位置,改变等于号后的数值即可  
js="var q=document.documentElement.scrollTop=50"  
driver.execute_script(js)  

‘‘‘‘ 若要对页面中的提示警告窗口中的滚动条进行操作,要先定位到该内嵌窗口,在进行滚动条操作 js="var q=document.getElementById(‘id‘).scrollTop=100000" driver.execute_script(js) time.sleep(3) ‘‘‘

 


以上是关于python selenium webdriver处理浏览器滚动条的主要内容,如果未能解决你的问题,请参考以下文章

Selenium WebDriver(Python)API

[python] python+selenium+webdriver

[python] python+selenium+webdriver

selenium webdriver (python)大全

python+selenium—webdriver入门

转载selenium+Python WebDriver之selenium的定位以及切换frame(iframe)