【Selenium学习】【拖动滚动条】

获取当前页面滚动条纵坐标的位置:document.body.scrollTop与document.documentElement.scrollTop

获取当前页面滚动条横坐标的位置:document.body.scrollLeft与document.documentElement.scrollLeft

(1)使用JS操作浏览器(右侧竖向)滚动条

#0为顶部;1000000为底部

document.getElementById("id").scrollTop=10000    #将滚动条移动至页面的底部

document.getElementById("id").scrollTop=0            #将滚动条移动至页面的顶部

这里的id为滚动条的id,但是js中没有xpath方法,所以滚动条没id的网页此方法不适用

(2)使用JS脚本拖动到特定地方

target=driver.find_element_by_id("id_keypair")

driver.execute_script("arguments[0].scrollIntoView();",target)

(3)根据页面显示进行变通,发送tab键

from selenium.webdriver.common.keys import Keys

driver.find_element_by_id("id_login_method_0").send_keys(Keys.TAB)

如果滚动条下滑页面是密码是输入框,正常手工操作时,可以通过tab键会切换到密码框中,所以根据此思路,在python中也可以发送tab键来切换,使元素显示。

(4)根据坐标拖动到特定位置

页面自带的滚动条:window.scrollTo(x,y),x(横向),y(纵向)代表的就是位置,具体移动到哪里根据设置的x,y来决定

内嵌滚动条:可参考(1)(2)方法

原文地址:https://www.cnblogs.com/yuhuang/p/13347474.html