首页 > 代码库 > Selenium + Python 警告框处理
Selenium + Python 警告框处理
这几天在学WebDriver的警告框处理,具体做法是使用switch_to_alert()方法定位到alert/confirm/prompt,然后使用text/accept/dismiss/send_keys等方法进行操作。
但是却一直卡在接受警告框这一步上,在书上给出的例子是百度首页的搜索设置弹出窗口,可是代码运行后,总是在报错:selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: 搜索设置(“搜索设置”此处可能是其他定位信息)。后来想想,可以能百度首页有东西改了,我试试在搜索页面进行同样的操作,结果就可以了!
附上代码:
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
driver = webdriver.Firefox( )
driver.implicitly_wait (10)
driver.get ("http://www.baidu.com")
driver.find_element_by_id ("kw").send_keys("selenium")
driver.find_element_by_id ("su").click( )
#鼠标悬停至“设置”链接
#setting = driver.find_element_by_css_selector (‘.pf‘)
setting = driver.find_element_by_link_text ("设置")
ActionChains(driver).move_to_element(setting).perform( )
#打开搜索设置
driver.find_element_by_link_text ("搜索设置").click( )
#driver.find_element_by_class_name ("setpref").click( )
time.sleep(2)
# 保存设置
driver.find_element_by_class_name (‘prefpanelgo‘).click( )
time.sleep(2)
#接受警告框
driver.switch_to_alert ( ).accept( )
driver.quit( )
Selenium + Python 警告框处理