Python爬蟲(chóng)之Selenium警告框(彈窗)處理
JavaScript 有三種彈窗 Alert (只有確定按鈕), Confirmation (確定,取消等按鈕), Prompt (有輸入對(duì)話框),而且彈出的窗口是不能通過(guò)前端工具對(duì)其進(jìn)行定位的,這個(gè)時(shí)候就可以通過(guò)switch_to.alert方法來(lái)定位這個(gè)彈窗,并進(jìn)行一系列的操作。
本章中用到的關(guān)鍵方法如下:
- switch_to.alert:定位到警告框
- text:獲取警告框中的文字信息
- accept():接受現(xiàn)有警告框(相當(dāng)于確認(rèn))
- dismiss():解散現(xiàn)有警告框(相當(dāng)于取消)
- send_keys('文本內(nèi)容'):發(fā)送文本至警告框(適用于有輸入對(duì)話框的彈窗)
- click():鼠標(biāo)點(diǎn)擊事件(其他鼠標(biāo)事件請(qǐng)參考Python爬蟲(chóng) - Selenium(5)鼠標(biāo)事件)
- move_to_element():鼠標(biāo)懸停(詳情請(qǐng)參考Python爬蟲(chóng) - Selenium(5)鼠標(biāo)事件)
from selenium import webdriver from selenium.webdriver import ActionChains import time driver = webdriver.Chrome() driver.get('http://www.baidu.com') # 鼠標(biāo)懸停至“設(shè)置”鏈接 link = driver.find_element_by_link_text('設(shè)置') ActionChains(driver).move_to_element(link).perform() time.sleep(2) #睡兩秒,看一下效果 # 打開(kāi)搜索設(shè)置 driver.find_element_by_link_text("搜索設(shè)置").click() time.sleep(2) #睡兩秒,看一下效果 # 保存設(shè)置 driver.find_element_by_class_name("prefpanelgo").click() time.sleep(2) #睡兩秒,看一下效果 # 定位警告框 alert = driver.switch_to.alert print(alert.text) # 打印警告框內(nèi)容 #alert.send_keys('輸入內(nèi)容') #此測(cè)試網(wǎng)站不是可輸入類(lèi)型的彈窗,先注釋掉 alert.accept() #接受現(xiàn)有警告框,相當(dāng)于確認(rèn) #alert.dismiss() #解散現(xiàn)有警告框,相當(dāng)于取消 time.sleep(2) #睡兩秒,看一下效果 driver.quit()
Selenium文集傳送門(mén):
標(biāo)題 | 簡(jiǎn)介 |
---|---|
Python爬蟲(chóng) - Selenium(1)安裝和簡(jiǎn)單使用 | 詳細(xì)介紹Selenium的依賴(lài)環(huán)境在Windows和Centos7上的安裝及簡(jiǎn)單使用 |
Python爬蟲(chóng) - Selenium(2)元素定位和WebDriver常用方法 | 詳細(xì)介紹定位元素的8種方式并配合點(diǎn)擊和輸入、提交、獲取斷言信息等方法的使用 |
Python爬蟲(chóng) - Selenium(3)控制瀏覽器的常用方法 | 詳細(xì)介紹自定義瀏覽器窗口大小或全屏、控制瀏覽器后退、前進(jìn)、刷新瀏覽器等方法的使用 |
Python爬蟲(chóng) - Selenium(4)配置啟動(dòng)項(xiàng)參數(shù) | 詳細(xì)介紹Selenium啟動(dòng)項(xiàng)參數(shù)的配置,其中包括無(wú)界面模式、瀏覽器窗口大小設(shè)置、瀏覽器User-Agent (請(qǐng)求頭)等等 |
Python爬蟲(chóng) - Selenium(5)鼠標(biāo)事件 | 詳細(xì)介紹鼠標(biāo)右擊、雙擊、拖動(dòng)、鼠標(biāo)懸停等方法的使用 |
Python爬蟲(chóng) - Selenium(6)鍵盤(pán)事件 | 詳細(xì)介紹鍵盤(pán)的操作,幾乎包含所有常用按鍵以及組合鍵 |
Python爬蟲(chóng) - Selenium(7)多窗口切換 | 詳細(xì)介紹Selenium是如何實(shí)現(xiàn)在不同的窗口之間自由切換 |
Python爬蟲(chóng) - Selenium(8)frame/iframe表單嵌套頁(yè)面 | 詳細(xì)介紹如何從當(dāng)前定位的主體切換為frame/iframe表單的內(nèi)嵌頁(yè)面中 |
Python爬蟲(chóng) - Selenium(9)警告框(彈窗)處理 | 詳細(xì)介紹如何定位并處理多類(lèi)警告彈窗 |
Python爬蟲(chóng) - Selenium(10)下拉框處理 | 詳細(xì)介紹如何靈活的定位并處理下拉框 |
Python爬蟲(chóng) - Selenium(11)文件上傳 | 詳細(xì)介紹如何優(yōu)雅的通過(guò)send_keys()指定文件進(jìn)行上傳 |
Python爬蟲(chóng) - Selenium(12)獲取登錄Cookies,并添加Cookies自動(dòng)登錄 | 詳細(xì)介紹如何獲取Cookies和使用Cookies進(jìn)行自動(dòng)登錄 |
Python爬蟲(chóng) - Selenium(13)設(shè)置元素等待 | 詳細(xì)介紹如何優(yōu)雅的設(shè)置元素等待時(shí)間,防止程序運(yùn)行過(guò)快而導(dǎo)致元素定位失敗 |
Python爬蟲(chóng) - Selenium(14)窗口截圖 | 詳細(xì)介紹如何使用窗口截圖 |
Python爬蟲(chóng) - Selenium(15)關(guān)閉瀏覽器 | 詳細(xì)介紹兩種關(guān)閉窗口的區(qū)別 |
到此這篇關(guān)于Python爬蟲(chóng)之Selenium警告框(彈窗)處理的文章就介紹到這了,更多相關(guān)Selenium警告框內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python入門(mén)教程(七)Python數(shù)字類(lèi)型
這篇文章主要介紹了Python入門(mén)教程(七)Python數(shù)字類(lèi)型,Python是一門(mén)非常強(qiáng)大好用的語(yǔ)言,也有著易上手的特性,本文為入門(mén)教程,需要的朋友可以參考下2023-04-04python中的匿名函數(shù)及編寫(xiě)無(wú)參數(shù)decorator詳解
這篇文章主要介紹了python中的匿名函數(shù)及編寫(xiě)無(wú)參數(shù)decorator詳解,高階函數(shù)可以接收函數(shù)做參數(shù),有些時(shí)候,我們不需要顯式地定義函數(shù),直接傳入匿名函數(shù)更方便,需要的朋友可以參考下2023-12-12pytorch搭建模型的五大層次級(jí)別解讀(由淺入深)
這篇文章主要介紹了pytorch搭建模型的五大層次級(jí)別(由淺入深),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06python 判斷是否為正小數(shù)和正整數(shù)的實(shí)例
這篇文章主要介紹了python 判斷是否為正小數(shù)和正整數(shù)的實(shí)例的相關(guān)資料,這里提供實(shí)例,實(shí)例注釋說(shuō)明很清楚,需要的朋友可以參考下2017-07-07pyinstaller參數(shù)介紹以及總結(jié)詳解
這篇文章主要介紹了pyinstaller參數(shù)介紹以及總結(jié)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07python鏈表的基礎(chǔ)概念和基礎(chǔ)用法詳解
這篇文章主要為大家詳細(xì)介紹了python鏈表的基礎(chǔ)概念和基礎(chǔ)用法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05