PHP PhantomJS是一个灵活的PHP库,通过PhantomJS无头浏览器加载页面并返回页面响应。它可用于测试需要JavaScript支持的网站,并且还支持屏幕截图和PDF输出
phantomjs代码git地址:https://github.com/jonnnnyw/php-phantomjs
一、功能列表
- 通过PhantomJS无头浏览器加载网页
- 查看详细的响应数据,包括页面内容,标题,状态代码等。
- 处理重定向
- 查看javascript控制台错误
- 查看详细的PhantomJS调试信息
- 将屏幕截图保存到本地磁盘
- 将网页输出到PDF文档
- 设置视口大小
- 设置PDF输出的固定页眉和页脚
- 定义屏幕捕获x,y,width和height参数
- 延迟页面呈现指定的时间
- 延迟页面呈现,直到页面资源完全加载
- 使用命令行选项执行PhantomJS
- 轻松构建和运行自定义PhantomJS脚本
二、先决条件
PHP PhantomJS需要运行PHP 5.3.0或更高版本
三、安装
建议您使用Composer安装PHP PhantomJS。首先,将以下内容添加到项目的composer.json
文件中:
`
#composer.json
"scripts": {
"post-install-cmd": [
"PhantomInstaller\\Installer::installPhantomJS"
],
"post-update-cmd": [
"PhantomInstaller\\Installer::installPhantomJS"
]
}
`
这将确保在您的bin文件夹中为系统安装最新版本的PhantomJS。如果您没有在composer.json中定义bin文件夹,请添加路径:
#composer.json
"config": {
"bin-dir": "bin"
}
require包里添加
"require": {
"jonnyw/php-phantomjs": "4.*"
},
最后在根目录 运行 composer update
或者 composer require “<code>jonnyw/php-phantomjs:4.*” </code>
重要
默认情况下,PhantomJS库将在bin文件夹中查找相对于脚本运行位置的PhantomJS可执行文件~/bin/phantomjs
。如果无法找到可执行文件,或者您的PhantomJS可执行文件的路径与默认位置有所不同,例如您已经在全局安装了PhantomJS,则需要手动定义PhantomJS可执行文件的路径。
`$client->getEngine()->setPath('/path/to/phantomjs');`
composer安装好扩展后 windows会在项目本目录下生成一个bin/phantomjs.exe;
linux 会在项目根目录下生成一个bin/phantomjs
当你运行你的程序报错找不到phantomjs脚本时 请指定 ` $client->getEngine()->setPath(‘/path/to/phantomjs’); ` 脚本路径
三、基本用法
以下说明如何进行基本的GET请求并输出页面内容:
将屏幕截图保存到本地磁盘:
以PDF格式输出页面: