2017 © Pedro PelĂĄez
 

library casperjs-php-driver

An improved general purpose PHP driver for CasperJS

image

pruiti/casperjs-php-driver

An improved general purpose PHP driver for CasperJS

  • Sunday, June 26, 2016
  • by maghetto85
  • Repository
  • 1 Watchers
  • 0 Stars
  • 17 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 0 Open issues
  • 5 Versions
  • 0 % Grown

The README.md

Fork of the Original CasperJS PHP Driver https://github.com/DiceHoldingsInc/casperjs-php-driver, (*1)

Changelog

  • Accept Language fix
  • Custom CasperJS Path fix
  • SetCookies, LoadCookies, SaveCookies methods
  • AppendToScript method

Installation

You can use this package in your project via composer. Add these lines to your composer.json:, (*2)

"require": {
  "pruiti/casperjs-php-driver": "1.*"
},



or, (*3)

composer require pruiti/casperjs-php-driver

Latest stable release is 1.0, (*4)

Examples

Basic usage

$driver = new CasperJs\Driver();
$output = $driver->start('http://someurl.com')
                 ->run();

Setting request parameters and interacting with the page

The entire point of using a tool like Casper is to be able to properly interact with the DOM for both testing and scraping purposes. This driver tries to expose a friendly interface to do so where you can define both request params and DOM interaction before making the actual call., (*5)

$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();

Using a proxy for your call

$driver = new CasperJs\Driver();
$driver->start('http://someurl.com')
       ->useProxy('1.1.1.1');

$output = $driver->run();

Getting the Casper Output

Whenever you execute Driver::run() the Driver will return an Output object that will encapsulate the Casper output. Output will expose the captured casper data or throw an exception in case the desired behaviour wasn't performed (i.e. if a css selector to be present in the page after timeout expired)., (*6)

Extracting Data

$html = $output->getHtml();
$statusCode = $output->getStatusCode();
$currentUrl = $output->getCurrentUrl();

More examples

For more examples check out test/DriverTest.php, (*7)

Credits

This driver is essentially an enhanced and improved version of the original alwex/php-casperjs., (*8)

The Versions

26/06 2016

dev-master

9999999-dev

An improved general purpose PHP driver for CasperJS

  Sources   Download

The Requires

  • php >=5.4

 

The Development Requires

by Jacopo Nardiello
by Fabrice Guéry
by Salvatore Pruiti

26/06 2016

1.0.3

1.0.3.0

An improved general purpose PHP driver for CasperJS

  Sources   Download

The Requires

  • php >=5.4

 

The Development Requires

by Jacopo Nardiello
by Fabrice Guéry
by Salvatore Pruiti

15/12 2015

1.0.2

1.0.2.0

An improved general purpose PHP driver for CasperJS

  Sources   Download

The Requires

  • php >=5.4

 

The Development Requires

by Jacopo Nardiello
by Fabrice Guéry

09/11 2015

1.0.1

1.0.1.0

An improved general purpose PHP driver for CasperJS

  Sources   Download

The Requires

  • php >=5.4

 

The Development Requires

by Jacopo Nardiello
by Fabrice Guéry

09/08 2015

1.0

1.0.0.0

An improved general purpose PHP driver for CasperJS

  Sources   Download

The Requires

  • php >=5.4

 

The Development Requires

by Jacopo Nardiello
by Fabrice Guéry