凌云客 2019-06-28
使用PhantomJS来进行无界面模式的自动化测试,或者爬取某些动态页面,最近selenium更新以后,'Selenium support for PhantomJS has been deprecated, please use headless '提示不支持PhantomJs,请使用headless模式。
我们研究一下使用Firefox Chrome的headless模式吧
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
确实是这个版本。
还没测试。过几天部署一个linux项目,再给大家分享版本。
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加速。
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一样。
5.环境变量配置在linux系统下,需要将可执行文件配置到环境变量或将文件移动到属于环境变量的目录里面方法一:将文件移动到属于环境变量目录中sudo mv chromedriver /user/bin