workdigital / casperjs-php-driver
该包最新版本(1.1.5)没有可用的许可证信息。
CasperJS的改进版通用PHP驱动程序
1.1.5
2017-09-29 10:29 UTC
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: ~4.4
README
先决条件
此驱动程序假定命令 casperjs
已存在于您的 $PATH
中。如果没有,您可以使用以下方式安装:
npm install -g casperjs
安装
您可以通过composer在项目中使用此包。将这些行添加到您的 composer.json
"require": {
"workdigital/casperjs-php-driver": "1.*"
},
…
最新稳定版是1.0
示例
基本用法
$driver = new CasperJs\Driver(); $output = $driver->start('http://someurl.com') ->run();
设置请求参数和与页面交互
使用Casper的目的之一就是能够正确地与DOM进行交互,无论是用于测试还是抓取目的。此驱动程序试图提供一个友好的接口,在执行实际调用之前,您可以定义请求参数和DOM交互。
$driver = new CasperJs\Driver(); $driver->start('http://someurl.com') ->setUserAgent('AmericanPizzaiolo') ->setHeaders([ 'Accept-Language' => ['en-US'], 'Some-Header' => 'Foo-bar', ]) ->evaluate('make me a pizza') ->setViewPort(1024, 768) ->waitForSelector('.selector', 30000) ->wait(10000) ->click('.selector'); $output = $driver->run();
使用代理进行调用
$driver = new CasperJs\Driver(); $driver->start('http://someurl.com') ->useProxy('1.1.1.1'); $output = $driver->run();
获取Casper输出
每当您执行 Driver::run()
时,Driver
将返回一个 Output
对象,该对象将封装Casper输出。Output
将公开捕获的Casper数据或抛出异常,如果未执行所需的行为(例如,如果CSS选择器在超时后仍不在页面上)。
提取数据
$html = $output->getHtml(); $statusCode = $output->getStatusCode(); $currentUrl = $output->getCurrentUrl();
更多示例
更多示例请查看 test/DriverTest.php
致谢
此驱动程序基本上是 原始的alwex/php-casperjs 的增强和改进版本。