大家都知道弹出框大致可以分为三种:1.警告消息框(alert)、2.确认消息框(confirm)、3.提示消息对话(prompt)
而selenium 提供switch_to_alert()方法来定位:
switch_to_alert() #定位弹出对话
text() #获取对话框文本值
accept() #相当于点击"确认"
dismiss() #相当于点击"取消"
send_keys() # 输入值
上面的都是一般弹出框的处理方法,但是我在项目中遇到了一个DIV模拟的窗口,用以上方法都获取不到这个弹出框:
例如:
在常规方法都试过后,我想到两个解决思路:1.返回当前页面最顶层,然后获取页面值;2.定位是否有确认按钮来判断弹出框。
而在这里,我选择了第2种方法:
有时候换一种思路…事情就能够得到解决。