企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## 4.11 警告框处理 在 WebDriver 中处理 JavaScript 生成的 alert、confirm 和 prompt 十分简单,具体做法是,首先使用 switch_to.alert()方法定位,然后使用 text、accept、dismiss、send_keys 等进行操作。 * text:返回 alert、confirm、prompt 中的文字信息。 * accept():接受现有警告框。 * dismiss():解散现有警告框。 * send_keys():在警告框中输入文本(如果可以输入的话)。 可以使用 switch_to.alert()方法为百度搜索设置弹窗,如图 4-5 所示。 ![](https://img.kancloud.cn/68/fa/68fa8041cef23841a0e3eea378695be2_1071x721.png) :-: 图 4-5 为百度搜索设置弹窗 ``` from selenium import webdriver from time import sleep driver = webdriver.Chrome() driver.get("https://www.baidu.com") # 打开搜索设置 link = driver.find_element_by_id("s-usersetting-top").click() driver.find_element_by_link_text("搜索设置").click() sleep(2) #保存设置 driver.find_element_by_link_text("保存设置").click() # 获取警告框 alert = driver.switch_to.alert # 获取警告框提示信息 alert_text = alert.text print(alert_text) # 接收警告框 alert.accept() driver.quit() ``` 这里以百度搜索设置为例,打开百度搜索设置,设置完成后单击“保存设置”按钮,弹出保存确认警告框。通过 switch_to.alert 方法获取当前页面上的警告框,text 用于获取警告框提示信息,accept()用于接受警告框。