您好,登錄后才能下訂單哦!
selenium提供switch_to_alert方法:捕獲彈出對話框(可以定位alert、confirm、prompt對話框)
switch_to_alert() --定位彈出對話框
text() --獲取對話框文本值
accept() --相當于點擊“確認”
dismiss() --相當于點擊“取消”
send_keys() --輸入值(alert和confirm沒有輸入對話框,所以就不用能用了,只能使用在prompt里)
頁面彈窗有 3 種類型:
對于頁面出現的 alert 彈窗,Selenium 提供如下方法:
序號 | 方法/屬性 | 描述 |
---|---|---|
1 | accept() | 接受 |
2 | dismiss() | 取消 |
3 | text | 獲取顯示的文本 |
4 | send_keys() | 輸入內容 |
對應處理方式:
alert(警告信息)彈出框
alert(警告信息)彈出框,目的是提示通知信息,只需要用戶看完點擊確認即可。
from selenium import webdriver from time import sleep driver = webdriver.Chrome() # 打開瀏覽器 driver.get("http://sahitest.com/demo/alertTest.htm") # 跳轉至測試頁面 sleep(1) element = driver.find_element_by_name("b1") # 定位 element.click() # 點擊 sleep(1) alert = driver.switch_to.alert # 切換到彈窗 print(alert.text) # 打印彈窗顯示的信息:Alert Message alert.accept() # 接受 sleep(2) driver.quit() # 關閉瀏覽器
confirm(確認信息)彈出框
confirm(確認信息)彈出框,主要是讓用戶來確定是否要執行某個操作。比如,淘寶,京東等,刪除訂單是彈出此類彈出,讓用戶確定是否刪除,避免用戶誤操作。
confirm(確認信息)彈出框提供兩種選擇,“確認” 或者 “取消”。只需要選擇其中一個即可:
from selenium import webdriver from time import sleep driver = webdriver.Chrome() # 打開瀏覽器 driver.get("http://sahitest.com/demo/confirmTest.htm") # 跳轉至測試頁面 sleep(1) element = driver.find_element_by_name("b1") # 定位 # 1、接受 element.click() # 點擊 sleep(1) alert = driver.switch_to.alert # 切換到彈窗 print(alert.text) # 打印彈窗顯示的信息:Alert Message alert.accept() # 接受 sleep(2) # 2、取消 element.click() # 點擊 sleep(1) alert = driver.switch_to.alert # 切換到彈窗 print(alert.text) # 打印彈窗顯示的信息: alert.dismiss() sleep(2) driver.quit() # 關閉瀏覽器
prompt(提示輸入)彈出框
prompt(提示輸入)彈出框,目的是需要用戶先輸入信息,再做提交。Selenium 提供輸入信息的方法是:
WebDriver.switch_to.alert.send_keys()
from selenium import webdriver from time import sleep driver = webdriver.Chrome() # 打開瀏覽器 driver.get("http://sahitest.com/demo/promptTest.htm") # 跳轉至測試頁面 sleep(1) element = driver.find_element_by_name("b1") # 定位 # 1、接受 element.click() # 點擊 sleep(1) alert = driver.switch_to.alert # 切換到彈窗 print(alert.text) # 打印彈窗顯示的信息:Alert Message alert.send_keys("自動化測試") # 輸入內容 sleep(1) alert.accept() # 接受 sleep(2) driver.quit() # 關閉瀏覽器
注意 : 有些彈窗并非瀏覽器的 alert 窗口,而是 html元素,對于這種對話框,只需要通過之前介紹的選擇器選中,并進行相應的操作即可。
總結
到此這篇關于Selenium alert 彈窗處理的示例代碼的文章就介紹到這了,更多相關Selenium alert 彈窗內容請搜索億速云以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。