2017-02-21 106 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