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 警告框處理