python selenium webdriver处理浏览器滚动条
2016-12-11 00:45 清风软件测试开发 阅读(4218) 评论(0) 编辑 收藏 举报
用键盘右下角的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) '''