【2018.05.11】python3.6+selenium 彈框的處理alert\confirm\prompt
阿新 • • 發佈:2018-12-24
提示:
不是所有的彈出框都叫alert,在使用alert方法前,先要識別出到底是不是alert。先認清楚alert長什麼樣子,下次碰到了,就可以用對應方法解決。
alert\confirm\prompt彈出框操作主要方法有:
text:獲取文字值
accept() :點選"確認"
dismiss() :點選"取消"或者叉掉對話方塊
send_keys() :輸入文字值 --僅限於prompt,在alert和confirm上沒有輸入框
//這是作為測試網頁的彈窗的html原始碼,可以拷到.txt更改為.html,用瀏覽器開啟看看顯示 <html> <head> <title>Alert</title> </head> <body> <input id = "alert" value = "alert" type = "button" onclick = "alert('這是一個alert彈框!');"/> <input id = "confirm" value = "confirm" type = "button" onclick = "confirm('這是一個confirm彈框!');"/> <input id = "prompt" value = "prompt" type = "button" onclick = "var name = prompt('請輸入這是一個prompt彈窗'); document.write(name) "/> </body> </html>
#coding = utf-8 ''' alert\confirm\prompt 彈框的處理 ''' from selenium import webdriver import time driver = webdriver.Chrome() #url的地址可以拷貝在瀏覽器中開啟的地址 url ='file://C:/Users/Administrator/Desktop/tanchuang.html' driver.get(url) time.sleep(3) '''alert''' driver.find_element_by_id('alert').click() time.sleep(3) r = driver.switch_to_alert() #列印警告資訊 print(r.text) #點選確認按鈕 r.accept() #r.didmiss() 相當於點X按鈕,取消 time.sleep(5) '''confirm''' driver.find_element_by_id('confirm').click() time.sleep(3) s = driver.switch_to_alert() #列印警告資訊 print(s.text) #點選確認按鈕 s.accept() #s.didmiss() 相當於點X按鈕,取消 time.sleep(3) '''prompt'''driver.find_element_by_id('prompt').click() time.sleep(3) t = driver.switch_to_alert() #列印警告資訊 print(t.text) #輸入文字 t.send_keys('prompt is a good girl,but she ...') #點選確認按鈕 t.accept() #t.didmiss() 相當於點X按鈕,取消 time.sleep(3)
以上...歡迎交流,一起學習,麻花藤測試開發群728109091