var casper = require('casper').create({
verbose: true,
logLevel: 'error',
pageSettings: {
userAgent: 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36'
}
});
var x = require("casper").selectXPath;
casper.start("https://kit.kijiji.ca/Index.aspx");
casper.then(function() {
this.sendKeys('input[name="login_username"]', 'example@example.com');
this.sendKeys('input[name="login_password"]', 'password');
});
casper.thenClick('button', function() {
this.echo("Button clicked.");
});
casper.wait(500, function() {
casper.click(x("//input[@value='Login / Ouvrir une session']"));
});
casper.wait(1000, function() {
this.echo(this.getTitle());
this.capture('example.png');
casper.exit();
});
casper.run();
您好,我在网上搜索过,无法找到问题的解决方案,所以我决定在这里发帖。
我正在尝试自动登录此网站并成功填写输入字段并单击按钮,但凭据正确时没有任何反应。
虽然当我输入虚假凭据时,我可以从casperjs捕获中看到该按钮被点击,因为该页面显示“无效的用户名/密码”。
非常感谢任何帮助。提前谢谢。
答案 0 :(得分:0)
您的登录部分位于包含帖子操作的表单下。您可以尝试提交表单而不是单击登录按钮。我也遇到了这个问题,并通过这种方式得到解决方案:
this.fill('form#formname', {
login_username: 'example@example.com',
login_password: 'password',
}, false);
this.thenEvaluate(function () {
document.querySelector('form#formname').submit();
});
希望你能解决问题。请正确填写表格名称。