0

尝试此答案后 如何使用 CasperJS 登录网站?我没有工作显然填充功能是失败的现在facebook没有电子邮件,并作为login_form的直接子代传递这会影响代码吗?我认为它停在 this.test.assert ......我的代码

var casper = require('casper').create({   
    pageSettings: {
         loadImages:  false,         // The WebPage instance used by Casper will
         loadPlugins: false,         // use these settings
         userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4'
    }
});
var url = 'https://www.facebook.com/';

casper.start(url, function() {
   console.log("page loaded");
   this.test.assertExists('form#login_form', 'form is found');
   this.fill('form#login_form', { 
        email: 'email', 
        pass:  'pass'
    }, true);
});

casper.then(function() {
    this.evaluateOrDie(function() {
        return /message sent/.test(document.body.innerText);
    }, 'sending message failed');
});

casper.run(function() {
    this.echo('message sent').exit();
});

如果没有答案,我只需要使用 PhantomJS

4

2 回答 2

0

版本问题,不清楚是什么问题。

于 2013-03-06T06:46:25.990 回答
0

将文件中对 phantomjs 的调用batchbin/casperjs.bat

call phantomjs "%CASPER_BIN%bootstrap.js" --casper-path="%CASPER_PATH%" --cli %ARGV% 

call phantomjs --ignore-ssl-errors=yes "%CASPER_BIN%bootstrap.js" --casper-path="%CASPER_PATH%" --cli %ARGV% 

这只是强制ignore-ssl-errors每次调用 phantomjs,这对我的用例来说很好。这不是一个修复,只是一个黑客。

https://github.com/n1k0/casperjs/issues/49

于 2013-07-06T19:26:47.887 回答