Python+Selenium-15-alert/confirm/prompt弹框处理

弹框处理

1.webdriver中处理JavaScript所生产的alert、confirm以及prompt是很简单的。

2.switch_to.alert方法定位到alert/confirm/prompt。然后用text/accept/dismiss/send_keys按需进行操作

(1)text: 返回 alert/confirm/prompt 中的文字信息。

(2)accept :点击确认按钮。

(3)dismiss: 点击取消按钮,如果有的话。

(4)send_keys :输入值,这个 alert\confirm 没有对话框就不能用了,不然会报错

3.场景:百度设置-保存设置为例,获取弹框的文字,以及默认执行弹框的确定操作,不需要再次手动定位确定按钮再执行

Python+Selenium-15-alert/confirm/prompt弹框处理_第1张图片

 

代码部分

代码

# coding:utf-8
from selenium import webdriver
import time
# 初始设置
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
driver.maximize_window()
driver.implicitly_wait(2)

# 点击设置-搜索设置,并保存
driver.find_element_by_xpath("//div[@id='u1']/a[8]").click()
driver.find_element_by_xpath(" //div[@id='wrapper']/div[@class='bdpfmenu']/a[1]").click()
time.sleep(2)
driver.find_element_by_xpath("//div[@id='gxszButton']/a[1]").click()
time.sleep(2)
alert = driver.switch_to.alert # 切换到弹框
print(alert.text)  # 获取弹框文本
alert.accept()  # 点击弹框“确定”按钮,弹框关闭返回到百度首页

结果

Python+Selenium-15-alert/confirm/prompt弹框处理_第2张图片

 

你可能感兴趣的:(Python+Selenium-15-alert/confirm/prompt弹框处理)