Selenium 警告框處理
阿新 • • 發佈:2018-05-29
select http rom 驅動 odi 技術分享 pro 輸入文本 per
警告框分三種類型:
- alert:顯示帶有一條指定消息和一個 OK 按鈕的警告框。
- confirm:顯示一個帶有指定消息和 OK 及取消按鈕的對話框。
- prompt:顯示可提示用戶進行輸入的對話框。
我們就來一一認識他們的形狀
alert:
confirm:
prompt:
警告框操作
主要操作方法有:
- text:獲取警告框中的文字信息
- accept():接受警告框,相當於點擊"確認"
- dismiss():解散警告框,相當於點擊“取消”或叉掉警告框
- send_keys():在警告框中輸入文本
我們以百度搜索設置警告框為例:
代碼:
# coding = utf-8 from selenium importwebdriver from selenium.webdriver.support.select import Select from selenium.webdriver.common.action_chains import ActionChains from time import sleep # 驅動文件路徑 driverfile_path = r‘D:\coship\Test_Framework\drivers\chromedriver.exe‘ # 啟動瀏覽器 driver = webdriver.Ie(executable_path=driverfile_path) # 打開百度首頁driver.implicitly_wait(10) driver.get(r‘https://www.baidu.com/‘) # 移動鼠標到設置上,再點擊搜索設置 set = driver.find_element_by_link_text("設置") ActionChains(driver).move_to_element(set).perform() driver.find_element_by_link_text("搜索設置").click() # 通過text定位 sel = driver.find_element_by_css_selector("select#nr") Select(sel).select_by_visible_text("每頁顯示20條") # 點擊保存設置 driver.find_element_by_link_text("保存設置").click() # 切換到警告框上 sleep(3) ale = driver.switch_to_alert() # 獲取警告框文本信息 text = ale.text print(text) # 接受警告框 ale.accept() # 叉掉警告框 # ale.dismiss() # 退出 sleep(5) driver.quit()
在這裏註意下,切換到警告框,只能用switch_to_alert(),不能用switch_to.alert()
Selenium 警告框處理