1. PhantomJS是什么?
说人话就是:无界面浏览器
PhantomJS是一个基于webkit的JavaScript
API。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码。任何你可以在基于webkit浏览器做的事情,它都能做到。它不仅是个隐形的浏览器,提供了诸如CSS选择器、支持Web标准、DOM操作、JSON、HTML5、Canvas、SVG等,同时也提供了处理文件I/O的操作,从而使你可以向操作系统读写文件等。PhantomJS的用处可谓非常广泛,诸如网络监测、网页截屏、无需浏览器的
Web 测试、页面访问自动化等。
2. 如何安装
官网下载对应操作系统的压缩包:
https://phantomjs.org/download.html
在电脑是某个目录下解压,比如我这边解压到:
/Users/geekfly/Software/phantomjs-2.1.1-macosx
3. Selenium中使用
from selenium import webdriver
browser = webdriver.PhantomJS(executable_path='/Users/geekfly/Software/phantomjs-2.1.1-macosx/bin/phantomjs')
browser.get("https://www.baidu.com")
print(browser.title)
网上说配置环境变量,然后把phantomjs放到python安装目录下的script里,但是并没有这个文件夹,所以直接使用指定路径的方式也可以使用。
具体添加环境变量方法如下:
-
打开配置文件
vi .bash_profile
-
添加系统变量
export PATH="/Users/geekfly/Software/phantomjs-2.1.1-macosx/bin:$PATH"
具体路径需根据自己解压后的目录修改 -
使其生效
source .bash_profile
-
测试:命令行输入
phantomjs
,如果提示不受认可的开发者,请去系统偏好设置、安全性与隐私里解锁允许