在Webdriver中处理JavaScript生成的alert、confirm、prompt,使用switch_to_alert()方法定位到alert、confirm、prompt,然后进行如下操作:
- text:返回alert/confirm/prompt中的文字信息
- accept():接受现有警告框
- dismiss():解散现有警告框
- sendkeys(keysToSend):发送文本至警告框
案例:点击百度首页设置按钮,然后进入搜索设置页面,点击“保存设置”或“恢复默认”按钮,处理警告弹窗窗口
alert.py
from selenium import webdriver from time import sleep from selenium.webdriver.common.action_chains import ActionChains driver=webdriver.Firefox() driver.implicitly_wait(10) driver.get("http://www.baidu.com") # driver.find_element_by_link_text('设置').click() # 鼠标悬停字“设置”链接 link = driver.find_element_by_link_text('设置') ActionChains(driver).move_to_element(link).perform() # 打开搜索设置 driver.find_element_by_link_text('搜索设置').click() # 保存设置 driver.find_element_by_link_text('保存设置').click() # driver.find_element_by_link_text('恢复默认').click() # 打印警告框的文字信息 print(driver.switch_to_alert().text) # 接受警告框 driver.switch_to_alert().accept() driver.quit()
页面显示: