有的网站会弹出相似以下图的警告弹窗,你会发现这种弹窗在html源码中怎么也定位不到,接下来将介绍这种弹窗的处理方式。html
其实这种弹窗是不属于html的元素的,他是属于浏览器自带的弹窗,因此用定位元素的方法是定位不了的。浏览器
浏览器的警告弹窗一共有三种:网站
第一种:(有【肯定】【取消】按钮的)spa
解决方案:3d
1.先使用 driver.switch_to.alert 切换到警告弹窗上(注意,有时候切换前须要加个等待)htm
2.text方法能够获取到弹窗上的文本blog
3.accept()方法至关于点击肯定按钮源码
4.dismiss()方法至关于点击取消按钮it
代码:方法
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() # 取消,至关于点击[取消]按钮