python+selenium自动化(内嵌2个窗口的弹窗,切换窗口定位)

如上图看似普通的一个弹出框
遇到这个问题做以下尝试:
- 首先,这种肯定不是alert,所以不能用alert去定位
- 然后看看是不是有iframe,查看元素后,发现没有iframe
- 前面加了sleep时间等待也无法解决
解决问题
1.通过打印获取全部的窗口,发现居然打印的是两个handle,也就是说,这个表面上看起来是一个窗口,实际上内嵌了另外一个窗口了。
# 作者:上海悠悠
# 打印所有的handle
all_handles = driver.window_handles
print(all_handles)
# 切换到新的handle上
driver.switch_to.window(all_handles[1])
2.找到问题原因,接下来就简单了,先切换到新的窗口上,然后用平常的定位方法就可以了


浙公网安备 33010602011771号