使用selenium做自动化测试的时候,或者做爬虫的时候经常会遇到滑动解锁、拼图等情况,复杂的先不说,说一个简单的,如图:

图中是一个简单的滑动解锁,只需要将滑块移动至右边就可以
步骤:
1.获取整个滑动条的长度(宽度)
2.获取小滑块的长度(宽度)
3.使用ActionChains.drag_and_drop_by_offset()方法滑动至指定位置(滑动条的宽度 - 小滑块的宽度)


先简单算一下,滑动条的宽度是293.31px,小滑块的宽度是40px, 只需要滑动(293.31-40)px
废话不说,上代码

下面说一个坑:
如果使用最大化,可能会出现下面的情况:

如图:滑动条不能滑到头,有一部分空白,虽然也验证通过了,但是缺乏了美感,如果屏幕更大,右边空白也会越大
解决办法:
1. 将maximize_window方法,写在open(get)方法前面,即可
原因:
1.获取滑动条的宽度是根据第一次浏览器的大小获取的,首次是默认大小,后面使用最大化,导致的差异


网友评论