2017-02-21 131 views
1

我可以填写这个网站的输入,但我不能点击提交按钮,已经尝试了很多方法。如果您可以如此善意地测试您提出的解决方案,请。谢谢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(); 

回答

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(); 

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

+0

更新了我的文章。它现在有效。 :) – dasmelch

+0

你真棒dasmelch,它很棒!如果有什么机会我们可以一起工作,请让我知道 – Donovan