workdigital/casperjs-php-driver

该包最新版本(1.1.5)没有可用的许可证信息。

CasperJS的改进版通用PHP驱动程序

1.1.5 2017-09-29 10:29 UTC

This package is not auto-updated.

Last update: 2024-09-18 10:12:53 UTC


README

Build status

先决条件

此驱动程序假定命令 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 的增强和改进版本。