登录后Casperjs / Phantomjs screencapture

时间:2013-11-22 17:15:40

标签: javascript web phantomjs casperjs screen-capture

我正在使用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

我设置了所有环境变量。它实际上贯穿了所有代码,但它似乎没有做应该做的事情:制作一个screencapture。

我使用的代码:

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');

2 个答案:

答案 0 :(得分:1)

调用casper.run();运行整个步骤,并且可选地在完成所有步骤后执行回调。显然,为了运行Casper导航套件,调用此方法是必需的。 有关示例和更多信息,请阅读http://docs.casperjs.org/en/latest/index.html

上的文档

答案 1 :(得分:0)

你能试试吗?

casper.capture('yourImage.png');

而不是试图调整大小。在尝试拍照之前,请确保您实际上已进入屏幕截图的一部分。

我遇到过这种情况,它只是无声地失败,这有时是一个真正令人头痛的问题。