CasperJS можно использовать для навигации, парсинга и тестирования. В этом уроке мы увидим, как очищать данные с помощью CasperJS. Для запуска casperJS вам понадобится безголовый браузер, такой как PhantomJS или SlimerJS. Для последних версий casperJS требуется PhantomJS 1.9+.

Установка PhantomJS:

sudo apt-get install libfontconfig1
cd /opt
wget https://phantomjs.googlecode.com/files/phantomjs-1.9.1-linux-x86_64.tar.bz2
tar xjf phantomjs-1.9.1-linux-x86_64.tar.bz2
rm -f phantomjs-1.9.1-linux-x86_64.tar.bz2
ln -s phantomjs-1.9.1-linux-x86_64 phantomjs
sudo ln -s /opt/phantomjs/bin/phantomjs /usr/bin/phantomjs

Установка CasperJS:

cd /opt/
git clone git://github.com/n1k0/casperjs.git
cd casperjs
ln -sf `pwd`/bin/casperjs /usr/local/bin/casperjs

Простой JS-скрипт для входа и печати заголовка страницы:

phantom.casperTest = true;
var fs = require('fs');
var utils = require('utils');
var casper = require('casper').create({
    pageSettings: {
         loadImages:  false,         // The WebPage instance used by Casper will
         loadPlugins: false,         // use these settings
         userAgent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36'
    }
});
url = <url-of-login-page>
casper.start(url, function() {
   // replace in below format form.<class-name> or form#<form-id> 
    this.fill('form.<form-class>', {
        email: <enter-email-id-here>,
        password:  <enter-password-here>
    }, true);
});
 casper.then(function() {
       this.echo(this.getTitle());
 });
casper.run();

Этот скрипт войдет на сайт и напечатает заголовок страницы. В этом скрипте мы выполнили как навигацию, так и парсинг.

Статья изначально была опубликована в Блоге MicroPyramid