Casperjs点击按钮不起作用

时间:2017-02-21 05:47:02

标签: web-scraping casperjs

我能够填写此网站的输入,但我无法点击提交按钮,已经尝试了很多方法。如果您能够如此友好地测试您提出的解决方案,请。感谢

var casper = require('casper').create();
casper.start("https://alsea.interfactura.com/RegistroDocumento.aspx?opc=Starbucks");
casper.then(function() {
    casper.sendKeys('#ctl00_Main_RegistroClienteTicket1_txtTienda', '12345');
    casper.click('input[type="submit"][id="ctl00_Main_RegistroClienteTicket1_btnContinue"]');
    casper.capture("test.png");
});
casper.run();

1 个答案:

答案 0 :(得分:0)

经过一段时间的测试后,我得到了一个静态等待的解决方案。您可以使用waitForSelector()替换它:

    var casper = require('casper').create();

    casper.start("https://alsea.interfactura.com/RegistroDocumento.aspx?opc=Starbucks");

    casper.then(function() {
      casper.sendKeys('#ctl00_Main_RegistroClienteTicket1_txtRFC', 'VSC162114Q6A');
      casper.sendKeys('#ctl00_Main_RegistroClienteTicket1_txtTicket', '208456752');
      casper.sendKeys('#ctl00_Main_RegistroClienteTicket1_txtTienda', '38445');
      // set via jQuery because of the date format
      casper.evaluate(function() {
        $("#ctl00_Main_RegistroClienteTicket1_txtDate").val('01/01/2017');
      });
    });
    casper.then(function() {
      casper.capture("test1.png");
    });
    casper.then(function() {
      casper.evaluate(function() {
        $("#ctl00_Main_RegistroClienteTicket1_btnContinue").click();
      });
    });
    // You have to wait for dynamic loaded stuff here
    casper.wait(5000);

    casper.then(function() {
      casper.capture("test2.png");
    });
    casper.run();

感谢您的数据。它使研究更容易(如果你想再次删除你的评论我再次改变它)。 ;)