selenium提供了三个处理alert的方法
注意:首先需要切换窗口到alert
driver.switch_to.alert()
(1)点击确定按钮
driver.switch_to.alert.accept()
(2)点击取消
driver.switch_to.alert.dismiss()
(3)可以通过抓取到的弹窗的信息,判断操作是否成功
#获取弹窗的文本信息
driver.switch_to.alert.text
代码:
time.sleep(5)
res = driver.switch_to.alert.text
driver.switch_to.alert.accept()
print(res)
两种实现方式的代码:
(1)处理弹出框时,隐式等待是不起作用的。因为隐式等待判断的是页面加载,而此处点击确认按钮,只有弹窗没有页面加载,所以不起作用,需要用以下:
time.sleep()
driver.switch_to.alert.accept()
(2)添加浏览器等待,也可以处理弹出框
#智能等待之显示等待,浏览器等待
WebDriverWait(driver,30,1).until(expected_conditions.alert_is_present())
等待30秒,隔1秒检查一次.直到期望的条件--弹出框存在
#点击确定
driver.switch_to.alert.accept()