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_headless
或 add_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一样。