2017-01-12 4 views
0

이것은 Casperjs에서 처음으로 작업 한 것입니다. ID 또는 이름이없는 양식이 있지만 사용자 이름과 암호를 제출해야합니다.Casperjs를 사용하여 ID 또는 이름이없는 양식 제출

HTML 본문에는 onload = "init (document.forms [0]);"

형태 :

<form method="post"> 
       <table border="0" cellspacing="0" cellpadding="0"> 
         <tbody><tr> 
         <script> 
           document.write('<td class="username">'); 
           document.write(langstr[ui_CurrentLanguage].login_username); 
           document.write('&nbsp;:&nbsp;'); 
           document.write('</span>'); 
           document.write('<td colspan="2"><input type="text" class="inputname" id="user_name" name="user_name" onKeyPress="if(event.keyCode == \'13\') Validate();" size="20" maxlength="65" autocomplete="off"></td>'); 
         </script><td class="username">USERNAME&nbsp;:&nbsp;</td><td colspan="2"><input type="text" class="inputname" id="user_name" name="user_name" onkeypress="if(event.keyCode == '13') Validate();" size="20" maxlength="65" autocomplete="off"></td> 
         </tr> 
         <tr> 
         <script> 
           document.write('<td class="password">'); 
           document.write(langstr[ui_CurrentLanguage].login_password); 
           document.write('&nbsp;:&nbsp;'); 
           document.write('</span>'); 
           document.write('<td colspan="2"><input type="password" class="inputpwd" id="user_passwd" name="user_passwd" onKeyPress="if(event.keyCode == \'13\') Validate();" size="20" maxlength="64" autocomplete="off"></td>'); 
         </script><td class="password">PASSWORD&nbsp;:&nbsp;</td><td colspan="2"><input type="password" class="inputpwd" id="user_passwd" name="user_passwd" onkeypress="if(event.keyCode == '13') Validate();" size="20" maxlength="64" autocomplete="off"></td> 
         </tr> 
       </tbody></table> 

내가 casperjs에서 채우기 방법을 사용할 수 있도록 양식을 참조하는 데 문제가 있습니다. 이 양식에 대한 참조를 얻는 방법에 대한 아이디어가 있습니까?

감사합니다.

답변

0

당신은 (입력) 양식을 작성하고 키 "13"를 보내 sendKeys()를 사용해야합니다 또한

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

.start('http://',function(){ 
    this.sendKeys('#user_name', 'your_name', {keepFocus: true}); 
    this.sendKeys('#user_passwd','your_pass', {keepFocus: true}); 
    this.sendKeys('#user_passwd', casper.page.event.key.Enter , {keepFocus: true}); 

    this.wait(3000,function(){ 
    this.capture('test.png'); 
    utils.dump(this.getTitle()); 
}); 
}) 
    .run(); 

참조 : this issue

+2

감사합니다! 나는 그것에게 시도를주고, 당신에게 앙갚음을 할 것이다. – Rick

+2

굉장! 고맙습니다! 그것은 효과가 있었다. – Rick