问题描述:
待测试的页面,需要测试页面下滑和上滑
研究发现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的标题,从而进行判定