Python爬蟲 - Selenium(9)警告框(彈窗)處理

JavaScript 有三種彈窗 Alert (只有確定按鈕), Confirmation (確定,取消等按鈕), Prompt (有輸入對話框),而且彈出的窗口是不能通過前端工具對其進行定位的,這個時候就可以通過switch_to.alert方法來定位這個彈窗,並進行一系列的操作。

本章中用到的關鍵方法如下:

  • switch_to.alert:定位到警告框
  • text:獲取警告框中的文字信息
  • accept():接受現有警告框(相當於確認)
  • dismiss():解散現有警告框(相當於取消)
  • send_keys('文本內容'):發送文本至警告框(適用於有輸入對話框的彈窗)
  • click():鼠標點擊事件(其他鼠標事件請參考Python爬蟲 - Selenium(5)鼠標事件)
  • move_to_element():鼠標懸停(詳情請參考Python爬蟲 - Selenium(5)鼠標事件)
from selenium import webdriver
from selenium.webdriver import ActionChains
import time
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')

# 鼠標懸停至“設置”鏈接
link = driver.find_element_by_link_text('設置')
ActionChains(driver).move_to_element(link).perform()
time.sleep(2) #睡兩秒,看一下效果

# 打開搜索設置
driver.find_element_by_link_text("搜索設置").click()
time.sleep(2) #睡兩秒,看一下效果

# 保存設置
driver.find_element_by_class_name("prefpanelgo").click()
time.sleep(2) #睡兩秒,看一下效果

# 定位警告框
alert = driver.switch_to.alert
print(alert.text) # 打印警告框內容
#alert.send_keys('輸入內容') #此測試網站不是可輸入類型的彈窗,先註釋掉
alert.accept() #接受現有警告框,相當於確認
#alert.dismiss() #解散現有警告框,相當於取消
time.sleep(2) #睡兩秒,看一下效果

driver.quit()
歡迎關注同名微信公衆號:程序猿雜記

程序猿雜記

技術|交流|福利

Selenium文集傳送門:

標題 簡介
Python爬蟲 - Selenium(1)安裝和簡單使用 詳細介紹Selenium的依賴環境在Windows和Centos7上的安裝及簡單使用
Python爬蟲 - Selenium(2)元素定位和WebDriver常用方法 詳細介紹定位元素的8種方式並配合點擊和輸入、提交、獲取斷言信息等方法的使用
Python爬蟲 - Selenium(3)控制瀏覽器的常用方法 詳細介紹自定義瀏覽器窗口大小或全屏、控制瀏覽器後退、前進、刷新瀏覽器等方法的使用
Python爬蟲 - Selenium(4)配置啓動項參數 詳細介紹Selenium啓動項參數的配置,其中包括無界面模式、瀏覽器窗口大小設置、瀏覽器User-Agent (請求頭)等等
Python爬蟲 - Selenium(5)鼠標事件 詳細介紹鼠標右擊、雙擊、拖動、鼠標懸停等方法的使用
Python爬蟲 - Selenium(6)鍵盤事件 詳細介紹鍵盤的操作,幾乎包含所有常用按鍵以及組合鍵
Python爬蟲 - Selenium(7)多窗口切換 詳細介紹Selenium是如何實現在不同的窗口之間自由切換
Python爬蟲 - Selenium(8)frame/iframe表單嵌套頁面 詳細介紹如何從當前定位的主體切換爲frame/iframe表單的內嵌頁面中
Python爬蟲 - Selenium(9)警告框(彈窗)處理 詳細介紹如何定位並處理多類警告彈窗
Python爬蟲 - Selenium(10)下拉框處理 詳細介紹如何靈活的定位並處理下拉框
Python爬蟲 - Selenium(11)文件上傳 詳細介紹如何優雅的通過send_keys()指定文件進行上傳
Python爬蟲 - Selenium(12)獲取登錄Cookies,並添加Cookies自動登錄 詳細介紹如何獲取Cookies和使用Cookies進行自動登錄
Python爬蟲 - Selenium(13)設置元素等待 詳細介紹如何優雅的設置元素等待時間,防止程序運行過快而導致元素定位失敗
Python爬蟲 - Selenium(14)窗口截圖 詳細介紹如何使用窗口截圖
Python爬蟲 - Selenium(15)關閉瀏覽器 詳細介紹兩種關閉窗口的區別

歡迎留言吐槽

發佈了63 篇原創文章 · 獲贊 124 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章