Mechanize로 채우려는 양식 아래에; 이미 일반적으로 사용되는 모델을 시도했습니다 (예제는 Using Ruby and Mechanize to fill in a remote login form mystery). 그러나 성공하지 못했습니다.기계어로 로그인 폼을 작성하는 방법은 무엇입니까?
<form method="post" action="/sso/login.php" id="form-login-page">
<div id="form-login-container-page" style="color:red;text-align:center;width:100%;margin:10px 0"></div>
<input type="hidden" name="minimalist" value="1">
<input type="hidden" name="SSO_Context" value="/pdf/telecharger2.php?pdfpf=&pdfg=%2Fpdf%2Ftelecharger.php%3Fdir%3DJOURNAL%26file%3D20140603.pdf">
<div class="clear"> </div>
<label>Email<span>*</span></label>
<div class="insc-saisie">
<input class="insc-saisie-champ" type="text" id="login-page" name="login" value="">
</div>
<div class="clear"> </div>
<label>Mot de passe<span>*</span></label>
<div class="insc-saisie">
<input class="insc-saisie-champ" type="password" id="password-page" name="password" value="">
</div>
<div class="clear"> </div>
<label><input type="checkbox" unchecked=""></label>
<div class="insc-saisie">Se souvenir</div>
<div class="clear"> </div>
<label> </label>
<div class="insc-saisie">
<a href="javascript:showLostPassForm();">Mot de passe oublié ?</a>
</div>
<div class="clear"> </div>
<label> </label>
<div class="insc-saisie">
<input class="b-connexion" type="image" src="/img/trans.gif">
</div>
<div class="clear"> </div>
<div class="clear"> </div>
<label><span>*</span></label>
<div class="insc-saisie">Saisie obligatoire</div>
<div class="clear"> </div>
</form>
여기 내 시도
form = agent.page.parser.css('form')[1]
agent.page.forms[1]["login"] = "my_login"
agent.page.forms[1]["password"] = "my_password"
agent.page.forms[1].submit
나는 오류 (들) (이다) 발생 있는지 궁금합니다. 오류 출력은 질문에 첨부하여 더 잘 찾아야합니다. – ekremkaraca
그래서 .. 작동하지 않는 것은 무엇입니까? – Cereal
죄송합니다, 저의 잘못! 내 목표는 PDF 파일을 긁어내는 것입니다. 그러나 다운로드가 로그인에 의해 조건 지워 지므로 테스트 할 때 코드가 나를 로그인 페이지로 리디렉션하므로 결과적으로 자동 완성 (양식 채우기)이 작동하지 않습니다 코드의 두 번째 부분 (로그인이 필요없는 링크로 작동) : @watan = {} page.parser.xpath ('// th/a'). \t puts @watan [link.text.strip] = link [ 'href'] 끝 고마워요! –