提起selenium想必大家都不陌生,作為一款知名的Web自動化測試框架,selenium支持多款主流瀏覽器,提供了功能豐富的API介面,經常被我們用作爬蟲工具來使用。但是selenium的缺點也很明顯,比如速度太慢、對版本配置要求嚴苛,最麻煩是經常要更新對應的驅動。
今天就給大家介紹另一款web自動化測試工具Pyppeteer,雖然支持的瀏覽器比較單一,但在安裝配置的便利性和運行效率方面都要遠勝selenium。
01.Pyppeteer簡介
介紹Pyppeteer之前先說一下Puppeteer,Puppeteer是谷歌出品的一款基於Node.js開發的一款工具,主要是用來操縱Chrome瀏覽器的 API,通過Javascript代碼來操縱Chrome瀏覽器,完成數據爬取、Web程序自動測試等任務。
Pyppeteer其實是Puppeteer的Python版本,下面簡單介紹下Pyppeteer的兩大特點,chromium瀏覽器和asyncio框架:
1).chromium
Chromium是一款獨立的瀏覽器,是Google為發展自家的瀏覽器Google Chrome而開啟的計劃,相當於Chrome的實驗版,Chromium的穩定性不如Chrome但是功能更加豐富,而且更新速度很快,通常每隔數小時就有新的開發版本發布。
Pyppeteer的web自動化是基於chromium來實現的,由於chromium中某些特性的關係,Pyppeteer的安裝配置非常簡單,關於這一點稍後我們會詳細介紹。
2).asyncio
asyncio是Python的一個非同步協程庫,自3.4版本引入的標準庫,直接內置了對非同步IO的支持,號稱是Python最有野心的庫,官網上有非常詳細的介紹:
※python用reduce和map把字元串轉為數字的方法
※Python 主要應用場景、適用行業有哪些?
※python try 異常處理(史上最全)
※你真的理解Python中的賦值、傳參嗎
※為什麼python3.x要把print做成函數?
TAG:Python |