phpcasperjs / phpcasperjs
为CasperJS设计的简单PHP包装器,用于自动化网页的用户测试
v1.3.3
2017-04-04 03:15 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: 4.*
- squizlabs/php_codesniffer: 2.*
This package is not auto-updated.
Last update: 2024-09-14 11:03:41 UTC
README
php-casperjs 是一个简单的PHP包装器,用于优秀的库CasperJS,旨在自动化对网页的用户测试。
它很容易集成到PHPUnit测试用例中。
制作网络爬虫从未如此简单!
安装
在使用 php-casperjs 之前,您需要安装以下两个库
1 - PhantomJS http://phantomjs.org/download.html
2 - CasperJS http://docs.casperjs.org/en/latest/installation.html
npm install phantomjs npm install casperjs
然后
composer require phpcasperjs/phpcasperjs
使用方法
<?php use Browser\Casper; $casper = new Casper(); // forward options to phantomJS // for example to ignore ssl errors $casper->setOptions([ 'ignore-ssl-errors' => 'yes' ]); // navigate to google web page $casper->start('http://www.google.com'); // fill the search form and submit it with input's name $casper->fillForm( 'form[action="/search"]', array( 'q' => 'search' ), true); // or with javascript selectors: $casper->fillFormSelectors( 'form.form-class', array( 'input#email-id' => 'user-email', 'input#password-id' => 'user-password' ),true); // wait for 5 seconds (have a coffee) $casper->wait(5000); // wait for text if needed for 3 seconds $casper->waitForText('Yahoo', 3000); // or wait for selector $casper->waitForSelector('.gbqfb', 3000); // make a screenshot of the google logo $casper->captureSelector('#hplogo', '/tmp/logo.png'); // or take a screenshot of a custom area $casper->capture( array( 'top' => 0, 'left' => 0, 'width' => 800, 'height' => 600 ), '/tmp/custom-capture.png' ); // click the first result $casper->click('h3.r a'); // switch to the first iframe $casper->switchToChildFrame(0); // make some stuff inside the iframe $casper->fillForm('#myForm', array( 'search' => 'my search', )); // go back to parent $casper->switchToParentFrame(); // run the casper script $casper->run(); // check the urls casper get through var_dump($casper->getRequestedUrls()); // need to debug? just check the casper output var_dump($casper->getOutput());
如果您想看到您的爬虫在行动,请将引擎设置为 slimerjs
$casper = new Casper(); $casper->setOptions(['engine' => 'slimerjs']);