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 Suite няма да работи, ако не се обадите на 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