为了账号安全,请及时绑定邮箱和手机立即绑定

selenium自动化之处理浏览器警告弹窗

标签:
测试

  有的网站会弹出类似如下图的警告弹窗,你会发现这种弹窗在html源码中怎么也定位不到,接下来将介绍这种弹窗的处理方式。

 

 

其实这种弹窗是不属于html的元素的,他是属于浏览器自带的弹窗,所以用定位元素的方法是定位不了的。

 

浏览器的警告弹窗一共有三种:

 

  第一种:(有【确定】【取消】按钮的)

 

 

  解决方案:

  1.先使用 driver.switch_to.alert 切换到警告弹窗上(注意,有时候切换前需要加个等待)

  2.text方法可以获取到弹窗上的文本

  3.accept()方法相当于点击确定按钮

  4.dismiss()方法相当于点击取消按钮

  代码:

  time.sleep(2)
  a = driver.switch_to.alert     #  新方法,切换alert
  # a = driver.switch_to_alert()   #  老方法,切换alert
  print(a.text)                    # 获取弹窗上的文本
  a.accept()                       # 确认,相当于点击[确定]按钮
  # a.dismiss()                      # 取消,相当于点击[取消]按钮

  结果:

    输出弹窗上的文本内容

  

 

第二种:(只有【确定】按钮的)

 

解决方案(其实这种和第一种弹窗的处理方法一样的):

  1.先使用 driver.switch_to.alert 切换到警告弹窗上(注意,有时候切换前需要加个等待)

  2.text方法可以获取到弹窗上的文本

  3.accept()方法相当于点击确定按钮

  4.dismiss()方法相当于关闭弹窗

  代码:

  time.sleep(2)
  a = driver.switch_to.alert     #  新方法,切换alert
  # a = driver.switch_to_alert()   #  老方法,切换alert
  print(a.text)                    # 获取弹窗上的文本
  a.accept()                       # 确认,相当于点击[确定]按钮
  # a.dismiss()                      # 取消,相当于点击关闭弹窗

第三种:(有输入对话框的)

 

 

  解决方案(其实这种弹窗处理只是多加了一个方法):

  1.先使用 driver.switch_to.alert 切换到警告弹窗上(注意,有时候切换前需要加个等待)

  2.accept()方法相当于点击确定按钮

  3.dismiss()方法相当于关闭弹窗

  4.send_keys()相当于在弹窗的输入框中输入文本

  代码:

  time.sleep(2)
  a = driver.switch_to.alert     #  新方法,切换alert
  # a = driver.switch_to_alert()   #  老方法,切换alert
  a.send_keys('Kevin-liutianping') # 在弹窗上的输入框中输入文本内容
  a.accept()                       # 确认,相当于点击[确定]按钮
  # a.dismiss()                      # 取消,相当于点击[取消]按钮

 

转载请注明出处 作者:Kevin-liutianping 

博客连接:https://www.cnblogs.com/kevin-liutianping/


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消