Casperjs - 在https网站上登录脚本时出错

时间:2015-02-25 12:55:59

标签: javascript https casperjs autologin

我在使用https网站登录时遇到问题。

剧本:

var casper = require('casper').create();
console.log("casper create OK");

casper.start("https://my-ip/login_page.html", function() {
console.log("Connexion URL OK");

    // set a wait condition to make sure the page is loaded (particularly iframe in my case) 
    this.wait(5000,function(){
    console.log("Attente 5 sec OK");

        //fill out the form 
        this.fillSelectors("form[name='lf']",{
            'input#user' : "my_login",
            'input#pass' : "my_password"
        });
        console.log("Renseignement login et pass OK");

        // click the login button 
        this.click("input[name='loginsub']");
        console.log("Passage bouton login OK");

        // switch to iframe (won't be necessary for most)
        this.page.switchToChildFrame('mainframe');
        console.log("Switch iframe OK");

            // Test d'une zone sur la page pour valider la connexion
            casper.waitForSelector('.area-status', function() {
            console.log("Validation element sur la page OK");
            });
    }); 
});
// Check etat de l'alarme général
// Check status des zones de l'alarme

casper.run();

回归:

[root@srv-linux bin]# casperjs test.js
casper create OK
Connexion URL OK
Attente 5 sec OK
CasperError: Errors encountered while filling form: form not found
  /tmp/casperjs/modules/casper.js:807 in fillForm
  /tmp/casperjs/modules/casper.js:897 in fillSelectors
  /usr/local/bin/test.js:14
  /tmp/casperjs/modules/casper.js:2052 in _check
[root@srv-linux bin]# casperjs fe.js
SyntaxError: Parse error

问题出在功能等待之后。 表单名称是“lf”我已经检查过:

<form name="lf" action="default.html" method="get" onsubmit="return loginencrypt();">

我尝试在等待5秒后进行捕获但是我的png是空白的......

你有什么想法吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,用这个ssl选项执行脚本:

casperjs --ignore-ssl-errors=yes test4.js