無頭瀏覽器即為Headless Browser,是沒有圖形用戶界面的web瀏覽器,通常是通過編程或命令行界面來控制。
在正常使用selenium的時候,你必須擔心CPU和/或內存的使用。這兩種方式都與必須從被請求的URL中顯示顯示的圖形的瀏覽器相關聯。
當使用一個無頭的瀏覽器時,我們不用擔心這個。因此,我們可以預期我們編寫的腳本的內存消耗會降低,執行速度也會更快。當有的人說,那我沒法看到瀏覽器響應的過程,我不能在這邊盯着瀏覽器自己執行我的用例。。。喔犒!寫自動化本來就是為了效率的,做截圖就可以了嘛,盯着?你還不如下手點呢。。。咳咳,書接上文
下載安裝selenium,谷歌瀏覽器 自行下載
谷歌瀏覽器與 驅動的對應關系如下圖
ChromeDriver倉庫地址:
http://chromedriver.storage.googleapis.com/index.html
谷歌瀏覽器查看版本方式:
下載好驅動后放置在指定文件夾內備用。
編寫腳本
import time from selenium import webdriver from selenium.webdriver.chrome.options import Options #創建參數對象 chrome_options = Options() #固定寫法 chrome_options.add_argument('--headless') chrome_options.add_argument('--disable-gpu') #驅動路徑 path = r'C:\Chromedriver\chromedriver.exe' #創建瀏覽器對象 browser = webdriver.Chrome(executable_path=path,chrome_options=chrome_options) #請求地址 url ='http://www.baidu.com/' #發出請求 browser.get(url) #休眠三秒 time.sleep(3) #截圖並保存在本地C盤TEST文件夾內 browser.save_screenshot("C:\\TEST\\baid2.png") #截圖保存在項目下 browser.save_screenshot('ph\\baid.png') #其他截圖方法 #browser.get_screenshot_as_base64() #browser.get_screenshot_as_file() #browser.get_screenshot_as_png() #退出 browser.quit()
執行后生成圖片。
selenium4聖誕節已經發布,然后新功能API支持的更廣泛,selenium的文檔,官方自selenium2發布以來就從來沒有更新過,哪怕是selenium3發布之后,selenium的官方也是不帶動的,這次selenium的官方終於把selenium4的官方文檔更新了。。。。。額,真香。