Python+seleniumJS处理滚动条和元素聚焦JS处理滚动条
通过webdriver提供的execute_script()⽅法执⾏JS脚本操作滚动条
右侧滚动条
Firefox浏览器和Chrome浏览器⽤的语法不⼀样,下⾯区分列出来,貌似⾕歌浏览器71版通⽤⽕狐了
js = "var q=document.documentElement.scrollTop=10000"    # Firefox浏览器滚动到底部
js = "var q=document.documentElement.scrollTop=0"            # Firefox浏览器滚动到顶部
js = "var q=document.body.scrollTop=10000"                        # Chrome浏览器滚动到底部
js = "var q=document.body.scrollTop=0"                                # Chrome浏览器滚动到顶部
js = "var ElementById('id').scrollTop=0"      # 通过id属性切⼊操作内嵌表单的滚动条
横向滚动条
js = "window.scrollTo(x,y);"                      #  x为横向距离 y为纵向距离
据说不存在兼容问题的scrollTo函数
--scrollHeight 获取对象的滚动⾼度。
--scrollLeft 设置或获取位于对象左边界和窗⼝中⽬前可见内容的最左端之间的距离。
--scrollTop 设置或获取位于对象最顶端和窗⼝中可见内容的最顶端之间的距离。
--scrollWidth 获取对象的滚动宽度
js = "window.scrollTo(0,document.body.scrollHeight)"    # 滚动到底部
js = "window.scrollTo(0,0)"                                              # 滚动到顶部
js = "window.scrollTo(x,y)"                                              # 滚动到横向距离为X纵向距离为Y的位置
执⾏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)
<("www.baidu")
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)"
sleep(1)
js = "window.scrollTo(500,0)"
sleep(1)
driver.quit()
元素聚焦
元素聚焦--通过JS让页⾯直接跳到元素出现的位置(注意遮盖现象,聚焦被遮盖聚焦附近元素)
target = driver.find_element_by_xpath()
# coding=utf-8
# author:Ven
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
<("www.baidu")
driver.find_element_by_xpath("//input[@id='kw']").send_keys('selenium')
driver.find_element_by_xpath("//input[@id='su']").click()
html横向滚动条样式driver.set_window_size(width=600, height=600)
sleep(2)
target = driver.find_element_by_xpath("//*[@id='page']/a[1]/span[2]")
driver.quit()

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。