关于无界面浏览器的使用
phantomJS是一个独立的无界面浏览器,也称JS模拟器,之前介绍的使用谷歌,火狐等浏览器界面操作的,并不适合在服务器上使用,而phantomJs就适合.
一、环境的搭建
- 1、官网地址
- 2、下载地址
3、
mac上配置环境- 1.将下载的文件解压放到自己喜欢的位置
2.打开文件
vim ~/.bash_profile3.配置环境变量
export PATH="/Users/name/Applications/phantomjs/bin:$PATH"4.执行
source ~/.bash_profile5.测试
phantomjs --version
二、PhantomJs与selenium的集成
1、测试代码
from selenium import webdriver # 这里的executable_path="你上面解压的路径" browser = webdriver.PhantomJS(executable_path='/Users/shuiping.kuang/Documents/software/phantomjs-2.1.1-macosx/bin/phantomjs') browser.get('http://httpbin.org/ip') print(browser.current_url) print(browser.page_source)2、运行上面的代码会出现一个警告提示
UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '
三、使用Headless Chrome浏览器的介绍
- 1、关于
Headless Chrome的介绍
Headless Chrome 是 Chrome 浏览器的无界面形态,可以在不打开浏览器的前提下,使用所有 Chrome 支持的特性运行你的程序。相比于现代浏览器,Headless Chrome 更加方便测试 web 应用,获得网站的截图,做爬虫抓取信息等。相比于较早的 PhantomJS,SlimerJS 等,Headless Chrome 则更加贴近浏览器环境。
- 2、
Headless Chrome作用
为了提高selenium脚本的执行速度,我们可能会考虑使用PhantomJS这类的Headless 浏览器,但这些工具对JavaScript支持不好或者对web的支持不好,占用资源多,跟真实浏览器存在一定的差异等等问题。Chrome 浏览器提供的Headless Chrome,简单说我们也可以在不打开chrome GUI的情况在Chrome下执行我们的Selenium脚本,可提升脚本的执行效率。
3、
Headless Chrome对Chrome版本要求 官方文档中介绍,mac和linux环境要求chrome版本是59+,而windows版本的chrome要求是60+4、更多可以参考
四、在selenium中集成Headless CHrome
- 1、确保前面
selenium可以打开谷歌浏览器访问网站 2、实现代码
from selenium import webdriver option = webdriver.ChromeOptions() option.add_argument('headless') browser = webdriver.Chrome(chrome_options=option) browser.get('http://www.httpbin.org/ip') print(browser.page_source)