一、警告框处理

在WebDriver中处理JavaScript所生成的alert、confirm以及prompt十分简单,只需要使用switch_to_alert()方法定位到alert/confirm/prompt,然后使用text/accept/dismiss/send_keys等方法进行操作。
(1)text:返回alert/confirm/prompt中的文字信息
(2)accept():接受现有警告框
(3)dismiss():解散现有警告框
(4)send_keys(KeysToSend):发送文本至警告框。KeysToSend:将文本发送至警告框。

#coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import time

driver=webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")

#鼠标悬停至设置
link=driver.find_element_by_link_text(u"设置")
ActionChains(driver).move_to_element(link).perform()

#打开搜索设置
driver.find_element_by_link_text(u"搜索设置").click()
time.sleep(2)

#保存设置
driver.find_element_by_class_name("prefpanelgo").click()
time.sleep(5)

#接受警告框
driver.switch_to_alert().accept()
time.sleep(2)

driver.quit()

从这个例子中ActionChains类所提供的move_to_element()鼠标悬停的使用。将鼠标悬停在“设置”链接上,然后在弹出的下拉菜单中单击“搜索设置”按钮,设置完成后单击“保存设置”,弹出保存确认警告框。通过switch_to_alert()方法获取当前页面上的警告框,并使用accept()方法接受警告框。