这是我的代码:
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和密码是正确的。
答案 0 :(得分: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();
答案 1 :(得分:1)
你应该在请求之间添加一些等待语句。可能有一些ajax你没有足够的时间被解雇。您还需要添加用户代理。有时,如果网页嗅出了您的用户代理,则会提供不同版本的网页。