selenium模拟页面上下滚动过程中遇到的问题与解决方法

问题描述:

待测试的页面,需要测试页面下滑和上滑

研究发现element有send_keys(Keys.ARROW_DOWN/ARROW_UP)方法可以实现上下滑动

但是实际测试发现,页面并没有滑动

原因分析:

脚本会通过点击来到待测试的页面,selenium默认是选择一开始输入的页面

也就是说虽然后面的页面显示在前面,但是selenium并没有选择它,导致滑动操作实际上输入到了错误的页面

解决方法:

使用driver.switch_to.window来切换当前窗口

注意事项:

1 driver.switch_to.window函数的参数,虽然叫做window_name,其实它和name并没有什么关系,而是一个handle值
这个handle存在于driver.window_handles列表之中,当前的handle是driver.current_window_handle
通过这两个值即可找到你想要的窗口

2 driver.close()有时候会失效.
什么时候失效呢?答案是driver.close()执行完后立刻退出进程,就会导致失效.
怎么解决这个问题呢?答案是在close后面追加一个1秒的休眠

3 不需要的页面要即时关闭,否则页面多了,如果某些页面加载出问题了,可能导致页面混乱

4 可以通过driver.title获取当前窗口的标题,结合1的切换,可以知道每个handle的标题,从而进行判定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值