Python+selenium自动化之17----元素内置滚动条

上一篇文章介绍了浏览器滚动条,这篇文章介绍内置滚动条的操作。同样需要结合js对元素进行定位操作。

Python+selenium自动化之17----元素内置滚动条

 

介绍还是使用腾讯企业邮箱,查看邮箱设置-常规页面信息设置项很多,需要上下滑动滚动条进行查看或修改。

 

常规设置页

 

从图中可以看出,页面中有两个滚动条,外侧为浏览器滚动条,内侧为页面元素的滚动条,浏览器滚动条上一篇文章介绍了,这次主要介绍内置滚动条。

Python+selenium自动化之17----元素内置滚动条

F12查看页面元素,页面有iframe嵌套,且可以确定滚动条的元素具有Id、class。

Python+selenium自动化之17----元素内置滚动条

 

滚动条操作

 

确定元素及元素所具有的属性

Python+selenium自动化之17----元素内置滚动条

可以使用Id或class进行元素定位,同样通过scrollTop控制滚动条的上下尺度。

Python+selenium自动化之17----元素内置滚动条

该页面没有横向滑动,其实和上面操作类似,使用scrollLeft的值进行左右控制,当为0时就是最左侧,随着数值增大,逐步向右滑动。

Python+selenium自动化之17----元素内置滚动条

同样,也可以使用元素的CSS元素进行定位并操作。

Python+selenium自动化之17----元素内置滚动条

 

代码如下:

# 纵向滚动 下滑操作 根据元素CSS确定滑动对象
js = 'document.querySelectorAll("#scrollContainer")[0].scrollTop=10000'
driver.execute_script(js)
time.sleep(5)  # 查看是否滚动
# 纵向上滑 到顶部 根据元素CSS确定滑动对象
js = "document.querySelectorAll('#scrollContainer')[0].scrollTop=0"
driver.execute_script(js)