selenium Headless Chrome/Firefox--PhantomJS停止支持後,使用無界面模式

簡介:

使用PhantomJS來進行無界面模式的自動化測試,或者爬取某些動態頁面,最近selenium更新以後,'Selenium support for PhantomJS has been deprecated, please use headless '提示不支持PhantomJs,請使用headless模式。
我們研究一下使用Firefox Chrome的headless模式吧


一:版本

1.windows下

chrome 對應chromedriver 具體瀏覽器版本對應driver版本號需要百度一一查看對應
firefox 對應geckodriver 具體瀏覽器版本對應driver版本號需要百度一一查看對應
selenium 3.9.0
我使用這個版本的selenium,已經提示停止支持了。你能查到這個文章,證明你的版本也不會太低。

firefox 58.0.2 (64 位)
這個是長期支持版,沒用最新版,有些功能貌似不穩定,還經常更新。

chrome 版本 64.0.3282.119(正式版本) (64 位)
這個就隨便跟隨應用管家升級的,畢竟連不上google的升級服務器。

python 3.6.3 amd64
確實是這個版本。

2.linux

還沒測試。過幾天部署一個linux項目,再給大家分享版本。

二:firefox headless模式

from selenium import webdriver
options = webdriver.FirefoxOptions()
options.set_headless()
# options.add_argument('-headless')
options.add_argument('--disable-gpu')
driver=webdriver.Firefox(firefox_options=options)
driver.get('http://httpbin.org/user-agent')
driver.get_screenshot_as_file('test.png')
driver.close()

實例化FirefoxOptions 然後設置set_headlessadd_headless
實例化firefox瀏覽器的時候,增加參數firefox_options=options
這樣就可以了。
'--disable-gpu'
這句是禁用GPU加速。

三:chrome headless模式

from selenium import webdriver
options=webdriver.ChromeOptions()
options.set_headless()
# options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver=webdriver.Chrome(options=options)
driver.get('http://httpbin.org/user-agent')
driver.get_screenshot_as_file('test.png')
driver.close()

和上面firefox一樣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章