Selenium入門10 彈出框的處理 switch_to.alert


 
三種彈出框alert(一個按鈕),confirm(兩個確認,取消),prompt(兩個按鈕+輸入框)。
切換到彈框: switch_to_alert() 
新版的selenium用: 
browser.switch_to.alert.accept()
browser.switch_to.alert.send_keys('abc')
browser.switch_to.alert.dismiss()
彈框的方法:
1 text獲取彈框文本
2 accept()確認
3 dimiss()取消
4 send_keys() prompt彈框輸入字符。其他兩種會報錯

 

 

示例腳本如下:

#coding=utf-8
#彈出框操作

from selenium import webdriver
import time

dr=webdriver.Firefox()
dr.get("https://www.baidu.com")

#隱藏的元素需顯示出來才能操作
setmenu = dr.find_element_by_link_text("設置")
webdriver.ActionChains(dr).move_to_element(setmenu).perform()
dr.find_element_by_link_text('搜索設置').click()
time.sleep(3)

#未隱藏的元素可以直接選取;注釋掉的是通過父級元素找后代也可以
#nrset = dr.find_element_by_id("nr")
#nrset.find_element_by_css_selector("option[value='50']").click()
dr.find_element_by_css_selector("option[value='50']").click()

#彈出框確認 三種彈出框alert(一個按鈕),confirm(兩個按鈕),prompt(兩個按鈕+輸入框)
dr.find_element_by_link_text("保存設置").click()
print(dr.switch_to_alert().text)
dr.switch_to_alert().accept() #確認
#dr.switch_to_alert().dismiss() #取消
#dr.switch_to_alert().send_keys("只對prompt有效") #在彈出框輸入內容

time.sleep(2)
dr.quit()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM