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

selenium自动化之处理浏览器警告弹窗
2019.01.06 23:18 531浏览

有的网站会弹出类似如下图的警告弹窗,你会发现这种弹窗在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/

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值