弹出框Alert

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()
原文地址:https://www.cnblogs.com/lvchengda/p/12626971.html