Скриншот Casperjs/Phantomjs после входа в систему

Я использую Casperjs/Phantomjs, чтобы сделать снимок экрана после входа на сайт форума. Код, который я написал, дает этот результат в cmd.

C:\xampp\htdocs\testing>casperjs screencappie.js
Var Declared
[info] [phantom] Starting...
Form FIlled
Clicked
Waited

Я запускаю код с помощью:

casperjs C:\path\path\..\test.js

Я установил все переменные среды. На самом деле он проходит через весь код, но кажется, что он не делает того, что должен делать: делает снимок экрана.

Код, который я использую:

var casper = require('casper').create({
    verbose: true,
    logLevel: 'debug'
});
var x       = require('casper').selectXPath;
var url     = 'http://forum.justforfun-gaming.com/newreply.php?tid=11178';
 console.log('Var Declared');
casper.start(url, function() {
   this.fill(x('//*[@id="content"]/table[2]/tbody/tr[2]/td/form'), {
        'username': 'USERNAME',
        'password': 'PASSWORD'
    }, true);
});
  console.log('Form FIlled');
casper.thenClick(x('//*[@id="content"]/table[2]/tbody/tr[2]/td/form/table/tbody/tr[4]/td/input'));
  console.log('Clicked');


casper.wait(5000, function() {
    this.capture('test.png', {
        top: 0,
        left: 0,
        width: 900,
        height: 900
    });
});
 console.log('Reached end of code');

person user3022671    schedule 22.11.2013    source источник
comment
Пакет Casper не запустится, если вы где-нибудь не позвоните casper.run();.   -  person Martin    schedule 22.11.2013
comment
@Martin Это звучит как ответ (ответ), а не комментарий :-)   -  person Darren Cook    schedule 24.11.2013
comment
Я полагаю, ты прав.   -  person Martin    schedule 24.11.2013


Ответы (2)


Вызов casper.run(); запускает весь набор шагов и при необходимости выполняет обратный вызов, когда все они выполнены. Очевидно, что вызов этого метода обязателен для запуска навигационного пакета Casper. Примеры и дополнительную информацию можно найти в документации по адресу http://docs.casperjs.org/en/latest/index.html

person Martin    schedule 24.11.2013

Вы можете попробовать это?

casper.capture('yourImage.png');

Вместо того, чтобы пытаться изменить размер. Убедитесь, что вы действительно добрались до части снимка экрана, прежде чем пытаться сделать снимок.

Я столкнулся с этой ситуацией, когда он просто молча терпит неудачу, что иногда является настоящей головной болью.

person Chris Hawkes    schedule 22.11.2013