01、JS处理滚动条
通过webdriver提供的execute_script()方法执行JS脚本操作滚动条
右侧滚动条
- Firefox浏览器和Chrome浏览器用的语法不一样,下面区分列出来,貌似谷歌浏览器71版通用火狐了
# Firefox浏览器滚动到底部
js = "var q=document.documentElement.scrollTop=10000"
# Firefox浏览器滚动到顶部
js = "var q=document.documentElement.scrollTop=0"
# Chrome浏览器滚动到底部
js = "var q=document.body.scrollTop=10000"
# Chrome浏览器滚动到顶部
js = "var q=document.body.scrollTop=0"
# 通过id属性切入操作内嵌表单的滚动条
js = "var q=document.getElementById('id').scrollTop=0"
横向滚动条:
# x为横向距离 y为纵向距离
js = "window.scrollTo(x,y);"
据说不存在兼容问题的scrollTo函数
# 滚动到底部
js = "window.scrollTo(0,document.body.scrollHeight)"
# 滚动到顶部
js = "window.scrollTo(0,0)"
# 滚动到横向距离为X纵向距离为Y的位置
js = "window.scrollTo(x,y)"
执行js脚本
driver.execute_script(js)
上个代码:
# coding=utf-8
# author:Ven
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.set_window_size(width=800,height=700)
driver.get("https://www.baidu.com")
driver.find_element_by_xpath("//input[@id='kw']").send_keys('selenium')
driver.find_element_by_xpath("//input[@id='su']").click()
sleep(1)
js = "window.scrollTo(0,document.body.scrollHeight)"
driver.execute_script(js)
sleep(1)
js = "window.scrollTo(500,0)"
driver.execute_script(js)
sleep(1)
driver.quit()
02、元素聚焦
通过JS让页面直接跳到元素出现的位置(注意遮盖现象,聚焦被遮盖聚焦附近元素)
target = driver.find_element_by_xpath()
driver.execute_script("arguments[0].scrollIntoView();", target)
# coding=utf-8
# author:Ven
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.find_element_by_xpath("//input[@id='kw']").send_keys('selenium')
driver.find_element_by_xpath("//input[@id='su']").click()
driver.set_window_size(width=600, height=600)
sleep(2)
target = driver.find_element_by_xpath("//*[@id='page']/a[1]/span[2]")
driver.execute_script("arguments[0].scrollIntoView();", target) # 元素聚焦到翻页按钮 - 2
sleep(2)
driver.quit()
最后也给大家分享一份软件测试资料
关注我的微信公众号:程序员二黑,即可免费获取!
最困难的时候,也就是我们离成功不远的时候!如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们的群:785128166 大家一起讨论交流学习。
精彩推荐:
公司新来的阿里p8,看了我做的APP和接口测试,甩给了我这份文档…
腾讯二面:web测试问题被虐哭了,直到学长给了我这些知识点…
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。