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

관련 문제