seleniumHeadless Chrome/Firefox--PhantomJS停止支持后,使用无界面模式。

Posted 上官飞鸿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了seleniumHeadless Chrome/Firefox--PhantomJS停止支持后,使用无界面模式。相关的知识,希望对你有一定的参考价值。

简介:

以前都用PhantomJS来进行无界面模式的自动化测试,或者爬取某些动态页面。

但是最近selenium更新以后,‘Selenium support for PhantomJS has been deprecated, please use headless ‘提示不支持PhantomJs,请使用headless模式。

好吧,我们还是继续使用firefox chrome的headless模式吧。

一:版本确认

1.windows下

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一样。

 

以上是关于seleniumHeadless Chrome/Firefox--PhantomJS停止支持后,使用无界面模式。的主要内容,如果未能解决你的问题,请参考以下文章

浏览器开发者工具使用技巧

必备工具软件推荐

前端调试代码 chrom 和 火狐禁用缓存 Disabled cache

pythonchallenge闯关 第2题

Safari iOS 5 中不显示自定义 webfont 字符