Python Selenium 获取不到弹出框的另外一种思路


大家都知道弹出框大致可以分为三种:1.警告消息框(alert)、2.确认消息框(confirm)、3.提示消息对话(prompt)

而selenium 提供switch_to_alert()方法来定位:

  • switch_to_alert()   #定位弹出对话
  • text()                  #获取对话框文本值
  • accept()                   #相当于点击"确认"
  • dismiss()                  #相当于点击"取消"
  • send_keys()             # 输入值

上面的都是一般弹出框的处理方法,但是我在项目中遇到了一个DIV模拟的窗口,用以上方法都获取不到这个弹出框:

例如:

 

在常规方法都试过后,我想到两个解决思路:1.返回当前页面最顶层,然后获取页面值;2.定位是否有确认按钮来判断弹出框。

而在这里,我选择了第2种方法:

1     try:
2       driver.find_element_by_xpath("/html/body/div[10]/div/div[2]/button").click()
3     except:
4         print('抄到数据次数:')
5     else:
6         print('读取超时,刷新后重试!')

有时候换一种思路…事情就能够得到解决。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM