首页 > 代码库 > 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 警告框处理