Python爬蟲之Selenium實(shí)現(xiàn)窗口截圖
前言:由程序去執(zhí)行的操作不允許有任何誤差,有些時(shí)候在測(cè)試的時(shí)候未出現(xiàn)問題,但是放到服務(wù)器上就會(huì)報(bào)錯(cuò),而且打印的錯(cuò)誤信息并不十分明確。這時(shí),我在想如果在腳本執(zhí)行出錯(cuò)的時(shí)候能對(duì)當(dāng)前窗口截圖保存,那么通過圖片就可以非常直觀地看出出錯(cuò)的原因。WebDriver提供了截圖函數(shù)get_screenshot_as_file()來截取當(dāng)前窗口。
本章中用到的關(guān)鍵方法如下:
get_screenshot_as_file():截圖
from selenium import webdriver driver = webdriver.Chrome() driver.get('https://www.baidu.com/') # 截圖,圖片后綴最好為.png,如果是其他的執(zhí)行的時(shí)候會(huì)有警告,但不會(huì)報(bào)錯(cuò) driver.get_screenshot_as_file("D:\\baidu_index.png") driver.quit()
實(shí)例:
#窗口截圖操作 #coding utf-8 from selenium import webdriver from time import sleep driver = webdriver.Firefox() url = "http://www.baidu.com" driver.get(url) driver.find_element_by_id('kw').send_keys('selenium python') driver.find_element_by_id('su').click() sleep(2) driver.get_screenshot_as_file("D:\\baidu_error.jpg") driver.quit()
運(yùn)行結(jié)果:
有個(gè)warning,什么意思呢,就是說截圖最好是使用 .png格式的圖片,而我的代碼中使用的是.jpg格式,但是,不影響最終結(jié)果
file type. It should end with a `.png` extension
"type. It should end with a `.png` extension", UserWarning)
網(wǎng)頁截圖: - 不出意外,渣度第一時(shí)間給你推送廣告?。『呛呛?!-
Selenium文集傳送門:
標(biāo)題 | 簡(jiǎn)介 |
---|---|
Python爬蟲 - Selenium(1)安裝和簡(jiǎn)單使用 | 詳細(xì)介紹Selenium的依賴環(huán)境在Windows和Centos7上的安裝及簡(jiǎn)單使用 |
Python爬蟲 - Selenium(2)元素定位和WebDriver常用方法 | 詳細(xì)介紹定位元素的8種方式并配合點(diǎn)擊和輸入、提交、獲取斷言信息等方法的使用 |
Python爬蟲 - Selenium(3)控制瀏覽器的常用方法 | 詳細(xì)介紹自定義瀏覽器窗口大小或全屏、控制瀏覽器后退、前進(jìn)、刷新瀏覽器等方法的使用 |
Python爬蟲 - Selenium(4)配置啟動(dòng)項(xiàng)參數(shù) | 詳細(xì)介紹Selenium啟動(dòng)項(xiàng)參數(shù)的配置,其中包括無界面模式、瀏覽器窗口大小設(shè)置、瀏覽器User-Agent (請(qǐng)求頭)等等 |
Python爬蟲 - Selenium(5)鼠標(biāo)事件 | 詳細(xì)介紹鼠標(biāo)右擊、雙擊、拖動(dòng)、鼠標(biāo)懸停等方法的使用 |
Python爬蟲 - Selenium(6)鍵盤事件 | 詳細(xì)介紹鍵盤的操作,幾乎包含所有常用按鍵以及組合鍵 |
Python爬蟲 - Selenium(7)多窗口切換 | 詳細(xì)介紹Selenium是如何實(shí)現(xiàn)在不同的窗口之間自由切換 |
Python爬蟲 - Selenium(8)frame/iframe表單嵌套頁面 | 詳細(xì)介紹如何從當(dāng)前定位的主體切換為frame/iframe表單的內(nèi)嵌頁面中 |
Python爬蟲 - Selenium(9)警告框(彈窗)處理 | 詳細(xì)介紹如何定位并處理多類警告彈窗 |
Python爬蟲 - Selenium(10)下拉框處理 | 詳細(xì)介紹如何靈活的定位并處理下拉框 |
Python爬蟲 - Selenium(11)文件上傳 | 詳細(xì)介紹如何優(yōu)雅的通過send_keys()指定文件進(jìn)行上傳 |
Python爬蟲 - Selenium(12)獲取登錄Cookies,并添加Cookies自動(dòng)登錄 | 詳細(xì)介紹如何獲取Cookies和使用Cookies進(jìn)行自動(dòng)登錄 |
Python爬蟲 - Selenium(13)設(shè)置元素等待 | 詳細(xì)介紹如何優(yōu)雅的設(shè)置元素等待時(shí)間,防止程序運(yùn)行過快而導(dǎo)致元素定位失敗 |
Python爬蟲 - Selenium(14)窗口截圖 | 詳細(xì)介紹如何使用窗口截圖 |
Python爬蟲 - Selenium(15)關(guān)閉瀏覽器 | 詳細(xì)介紹兩種關(guān)閉窗口的區(qū)別 |
到此這篇關(guān)于Python爬蟲之Selenium實(shí)現(xiàn)窗口截圖的文章就介紹到這了,更多相關(guān)Selenium 窗口截圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用Python如何將數(shù)據(jù)寫到CSV文件中
在數(shù)據(jù)分析中經(jīng)常需要從csv格式的文件中存取數(shù)據(jù)以及將數(shù)據(jù)寫書到csv文件中。下面這篇文章主要給大家介紹了關(guān)于利用Python如何將數(shù)據(jù)寫到CSV文件中的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-06-06python 工具 字符串轉(zhuǎn)numpy浮點(diǎn)數(shù)組的實(shí)現(xiàn)
這篇文章主要介紹了python 工具 字符串轉(zhuǎn)numpy浮點(diǎn)數(shù)組的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03Django Rest Framework框架構(gòu)建復(fù)雜API技能詳解
這篇文章會(huì)詳細(xì)介紹Django REST Framework的核心組成部分,包括Serializers、ViewSets、Routers、權(quán)限和認(rèn)證系統(tǒng)以及測(cè)試和調(diào)試工具,文章從基礎(chǔ)開始,逐步深入,旨在幫助讀者掌握使用Django REST Framework構(gòu)建復(fù)雜API的技能2023-09-09Python標(biāo)準(zhǔn)庫(kù)中的logging用法示例詳解
logging是Python標(biāo)準(zhǔn)庫(kù)中記錄常用的記錄日志庫(kù),通過logging模塊存儲(chǔ)各種格式的日志,主要用于輸出運(yùn)行日志,可以設(shè)置輸出日志的等級(jí)、日志保存路徑、日志文件回滾等,這篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)中的logging,需要的朋友可以參考下2022-09-09利用python實(shí)現(xiàn)PSO算法優(yōu)化二元函數(shù)
這篇文章主要介紹了python實(shí)現(xiàn)PSO算法優(yōu)化二元函數(shù)的代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11淺談Python數(shù)學(xué)建模之線性規(guī)劃
線性規(guī)劃是運(yùn)籌學(xué)中研究較早、發(fā)展較快、應(yīng)用廣泛、方法較成熟的一個(gè)重要分支,它是輔助人們進(jìn)行科學(xué)管理的一種數(shù)學(xué)方法。研究線性約束條件下線性目標(biāo)函數(shù)的極值問題的數(shù)學(xué)理論和方法2021-06-06python光學(xué)仿真學(xué)習(xí)wxpython創(chuàng)建手速測(cè)試程序
這篇文章主要介紹了python光學(xué)仿真學(xué)習(xí)使用wxpython創(chuàng)建一個(gè)手速測(cè)試程序示例的實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10