标签:
介绍
PHP PhantomJS 是一个灵活的 PHP 库加载页面通过 PhantomJS 无头浏览器并将返回页面响应。这是方便于需要JavaScript的支持,同时还支持截屏测试网站。
功能列表
通过 PhantomJS 无头浏览器加载网页
查看详细的响应数据包括页面内容、 标题、 状态代码等。
处理重定向
查看 javascript 控制台错误
查看详细的 PhantomJS 的调试信息
将屏幕截图保存到本地磁盘
设置视区大小
定义屏幕截图的 x、 y、 宽度和高度参数
指定的时间的呈现延迟页
通过命令行选项执行 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"
]
}
这将确保最新的PhantomJS版本安装在您的系统的 bin 文件夹。如果您还没有在你 composer.json 中定义你 bin 文件夹,添加路径:
#composer.json
"config": {
"bin-dir": "bin"
}
最后,在您的项目的根目录安装 PHP PhantomJS:
#bash
$ composer require "jonnyw/php-phantomjs:3.*"
如果你想要使用另一种安装方法,或想要查看更详细的安装说明,请参阅安装文档。
基本用法
以下内容说明了如何创建一个基本的 GET 请求和输出页面内容:
use JonnyW\PhantomJs\Client;
$client = Client::getInstance();
/**
* @see JonnyW\PhantomJs\Message\Request
**/
$request = $client->getMessageFactory()->createRequest(‘http://google.com‘, ‘GET‘);
/**
* @see JonnyW\PhantomJs\Message\Response
**/
$response = $client->getMessageFactory()->createResponse();
// Send the request
$client->send($request, $response);
if($response->getStatus() === 200) {
// Dump the requested page content
echo $response->getContent();
}
并且如果你想要将屏幕截图保存到本地磁盘:
use JonnyW\PhantomJs\Client;
$client = Client::getInstance();
/**
* @see JonnyW\PhantomJs\Message\CaptureRequest
**/
$request = $client->getMessageFactory()->createCaptureRequest(‘http://google.com‘, ‘GET‘);
$request->setCaptureFile(‘/path/to/save/capture/file.jpg‘);
/**
* @see JonnyW\PhantomJs\Message\Response
**/
$response = $client->getMessageFactory()->createResponse();
// Send the request
$client->send($request, $response);
有关更详细的示例,请参见使用章节,或者创建自己的自定义脚本检验高级的文档。
安装
• 前提条件
• 通过Composer安装
• 自定义安装
• 从压缩文件安装
前提组件
PHP PhantomJS 需要 PHP 5.3.0 或更高版本运行。
通过Composer安装
在你的项目中安装Composer:
#bash
$ curl-s http://getcomposer.org/installer |php
在您的项目的根目录中创建一个 composer.json 文件:
#composer.json