已单击CasperJS按钮,但未重定向

CasperJS Button is clicked but doesnt redirect

本文关键字:重定向 按钮 单击 CasperJS      更新时间:2023-10-26

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捕获中看到,由于页面显示"无效的用户名/密码",因此该按钮被单击。

如有任何帮助,我们将不胜感激。提前谢谢。

您的登录部分位于带有post操作的表单下。你可以尝试提交表格,而不是点击登录按钮。我也面临这个问题,并通过这种方式获得解决方案:

    this.fill('form#formname', {
        login_username: 'example@example.com',
        login_password: 'password',
    }, false);
    this.thenEvaluate(function () {
        document.querySelector('form#formname').submit();
    });

希望你能解决这个问题。请正确填写表格名称。