在网页当中,页面存在滚动条,而要操作的元素在当前屏幕可见区域之外,则需要通过操作滚动条滚动到该元素,下面介绍两种方法:
需要用selenium中的execute_script方法去执行js脚本.
1、设置滚动条位置:execute_script(“document.documentElement.scrollTop=xx”)
from selenium import webdriver
from time import sleep
dr=webdriver.Chrome()
dr.get('https://www.baidu.com')
dr.maximize_window()
dr.find_element('id','kw').send_keys('测试')
dr.find_element('id','su').click()
sleep(2)
dr.execute_script("document.documentElement.scrollTop=10000")#滚动到底部
sleep(2)
dr.execute_script("document.documentElement.scrollTop=0")#滚动到顶部
2、定位元素滚动至可见区域:execute_script(“arguments[0].scrollIntoView()”,elem)
首先需要定位到元素,然后通过js语句将元素滚动到可见区域
from selenium import webdriver
from time import sleep
dr=webdriver.Chrome()
dr.get('https://www.baidu.com')
dr.maximize_window()
dr.find_element('id','kw').send_keys('测试')
dr.find_element('id','su').click()
sleep(2)
ele=dr.find_element_by_link_text('www.speedtest.cn/')
dr.execute_script("arguments[0].scrollIntoView(false)",ele)#移动到元素的‘低端’与当前窗口的‘底部’对齐
sleep(2)
dr.execute_script("arguments[0].scrollIntoView(true)",ele)#移动到元素的“顶端”与当前窗口的“顶部”对齐
sleep(2)
dr.quit()
3、js的window.scrollTo()方法
window.scrollTo(0,10000)指定滑动的像素
window.scrollTo(0,document.body.scrollHeight)滑动到页面底部
from selenium import webdriver
from time import sleep
dr=webdriver.Chrome()
dr.get('https://www.baidu.com')
dr.maximize_window()
dr.find_element('id','kw').send_keys('测试')
dr.find_element('id','su').click()
sleep(2)
dr.execute_script("window.scrollTo(0,10000)")#滑动到页面底部
sleep(2)
dr.execute_script("document.documentElement.scrollTop=0")#滑动到页面顶部
sleep(2)
dr.execute_script("window.scrollTo(0,document.body.scrollHeight)")#滑动到页面底部
sleep(2)
qr.quit
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。