0

この回答を試した後 、CasperJS で Web サイトにログインするにはどうすればよいですか? 私は明らかに機能しませんでした 塗りつぶし機能が失敗しているようです 現在、facebookにはemaiがなく、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

batchbin/casperjs.batファイル内のphantomjsへの呼び出しを変更します

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 に答える