Selenium之拖拽滚动条


图例:横向滚动条拖拽

 

 

 

(1)通过左边控制横向和纵向滚动条scrollTo(x, y)

js = "window.scrollTo(100,400)"
driver.execute_script(js)

(2)然而用上面的方法可以解决拖动滚动条的位置问题,但是有时候无法确定我需要操作的元素在什么位置,有可能每次打开的页面不一样,元素所在的位置也不一样,怎么办呢?同样需要借助JS去实现跳到目标元素出现的位置(如图例“修改”按钮):

 具体如下:

# # 方式二:JS操作移位到指定目标元素
# targetChange=driver.find_element_by_xpath("//*[contains(text(),'修改')]")
# driver.execute_script("arguments[0].scrollIntoView()",targetChange)

(3)利用actionChains实现DIV滚动条的拖拽
#方式三:action_chains拖拽进度条至偏移位置
# dragElement=driver.find_element_by_xpath("//div[contains(@class,'el-table__body-wrapper is-scrolling')]")
# action_chains = ActionChains(driver)
# action_chains.drag_and_drop_by_offset(dragElement,0,2000)

针对竖向滚动条,拖拽也要借助JS进行操作

(1)滚动条回到顶部:
js="var q=document.getElementById('id').scrollTop=0"
driver.execute_script(js)

 

(2)滚动条拉到底部
js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)





免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM