1

这是我的代码:

var casper = require('casper').create({
    verbose: true,
    logLevel: 'debug'
});



casper.start('http://www.quora.com', function()
        {
                this.click('input.submit_button');
                this.echo("page loaded");
                this.test.assertExists('form.inline_login_form', 'form is found');
            this.fill('form.inline_login_form',{email:'xxxxxx@gmail.com',password:'xxxx'},false);

        }
);

casper.then(function(){
        this.click('input.submit_button');

});

casper.then(function(){

        this.capture('google.png', {
        top: 0,
        left: 0,
        width:0,
        height:0
    });
   this.echo("Page Title " + this.getTitle());
});

casper.run();

这是捕获方法生成的图像: 在此处输入图像描述

为什么不登录?id 和密码正确。

4

2 回答 2

2

试试这个,必须工作:

var casper = require('casper').create({
viewportSize: {
    width: 1080,
    height: 768
}
}); 
var email = "xxx@abc.com"; 
var pass = "********";



casper.start('http://www.quora.com', function()
    {
            this.click('input.submit_button');
            this.echo("page loaded");
            this.test.assertExists('form.inline_login_form', 'form is found');
        this.fill('form#__w2_b3oUn76_login_form',{email:'email',password:'pass'},true);

    });

casper.waitForSelector("form[name=search_form] input[name='search_input']",
function(){
    this.capture('google.png');
   this.echo("Page Title " + this.getTitle());
});

casper.run();
于 2014-01-17T14:11:35.730 回答
1

您应该在请求之间添加一些等待语句。可能有一些 ajax 你没有让足够的时间被解雇。您还需要添加一个用户代理。有时,如果他们嗅出您的用户代理,则会提供不同版本的网页。

于 2013-07-22T15:24:35.207 回答