有的網站會彈出相似以下圖的警告彈窗,你會發現這種彈窗在html源碼中怎麼也定位不到,接下來將介紹這種彈窗的處理方式。html
其實這種彈窗是不屬於html的元素的,他是屬於瀏覽器自帶的彈窗,因此用定位元素的方法是定位不了的。瀏覽器
瀏覽器的警告彈窗一共有三種:網站
第一種:(有【肯定】【取消】按鈕的)spa
解決方案:3d
1.先使用 driver.switch_to.alert 切換到警告彈窗上(注意,有時候切換前須要加個等待)htm
2.text方法能夠獲取到彈窗上的文本blog
3.accept()方法至關於點擊肯定按鈕源碼
4.dismiss()方法至關於點擊取消按鈕it
代碼:方法
time.sleep(2)
a = driver.switch_to.alert # 新方法,切換alert
# a = driver.switch_to_alert() # 老方法,切換alert
print(a.text) # 獲取彈窗上的文本
a.accept() # 確認,至關於點擊[肯定]按鈕
# a.dismiss() # 取消,至關於點擊[取消]按鈕
結果:
輸出彈窗上的文本內容
第二種:(只有【肯定】按鈕的)
解決方案(其實這種和第一種彈窗的處理方法同樣的):
1.先使用 driver.switch_to.alert 切換到警告彈窗上(注意,有時候切換前須要加個等待)
2.text方法能夠獲取到彈窗上的文本
3.accept()方法至關於點擊肯定按鈕
4.dismiss()方法至關於關閉彈窗
代碼:
time.sleep(2)
a = driver.switch_to.alert # 新方法,切換alert
# a = driver.switch_to_alert() # 老方法,切換alert
print(a.text) # 獲取彈窗上的文本
a.accept() # 確認,至關於點擊[肯定]按鈕
# a.dismiss() # 取消,至關於點擊關閉彈窗
第三種:(有輸入對話框的)
解決方案(其實這種彈窗處理只是多加了一個方法):
1.先使用 driver.switch_to.alert 切換到警告彈窗上(注意,有時候切換前須要加個等待)
2.accept()方法至關於點擊肯定按鈕
3.dismiss()方法至關於關閉彈窗
4.send_keys()至關於在彈窗的輸入框中輸入文本
代碼:
time.sleep(2)
a = driver.switch_to.alert # 新方法,切換alert
# a = driver.switch_to_alert() # 老方法,切換alert
a.send_keys('Kevin-liutianping') # 在彈窗上的輸入框中輸入文本內容
a.accept() # 確認,至關於點擊[肯定]按鈕
# a.dismiss() # 取消,至關於點擊[取消]按鈕