Tôi đang gặp sự cố khi gửi kết quả gửi biểu mẫu (Tôi có thể gửi biểu mẫu nhưng tôi không thể gửi biểu mẫu trên trang tiếp theo đầu tiên).Gửi biểu mẫu trong cơ giới hóa
tôi có:
browser = mechanize.Browser()
browser.set_handle_robots(False)
browser.open('https://www.example.com/login')
browser.select_form(nr=0)
browser.form['j_username'] = 'username'
browser.form['j_password'] = 'password'
req = browser.submit()
này hoạt động, như print req
kết quả trong
'
<body onload="document.forms[0].submit()">
<noscript>
<p>
<strong>Note:</strong> Since your browser does not support JavaScript,
you must press the Continue button once to proceed.
</p>
</noscript>
<form action="https://www.example.com/Shibboleth.sso/SAML2/POST" method="post">
<div>
<input type="hidden" name="RelayState" value="cookie:95ca495c"/>
<input type="hidden" name="SAMLResponse" value="really long encoded value"/>
</div>
<noscript>
<div>
<input type="submit" value="Continue"/>
</div>
</noscript>
</form>
</body>
'
Nhưng tôi nhận được lỗi khi tôi cố gắng sử dụng req.select_form(nr=0)
Tôi cho rằng điều này có lẽ là từ một cái gì đó dọc theo dòng cách cơ giới hóa trả về các đối tượng từ submit()
và rằng tôi đang đi về điều này một cách sai lầm.
Bất kỳ đầu vào hoặc hướng dẫn sẽ được đánh giá :)
bạn không quên gửi biểu mẫu đầu tiên này, để nhận biểu mẫu đăng nhập? ('browser.submit()' sau 'browser.select_form (nr = 0)') – mykhal
Không, tôi đặt req = browser.submit(), gửi biểu mẫu đầu tiên, phải không? – Parker
tôi nghĩ rằng bạn nhận được mẫu đăng nhập thực sau khi gửi biểu mẫu chuyển hướng đầu tiên .. vì vậy có một biểu mẫu khác trong trang này? câu hỏi của bạn giống với tôi [câu hỏi này] (http://stackoverflow.com/questions/3901218/following-the-result-of-pressing-a-submit-button-in-python-mechanize), điều này rõ ràng là của bạn :) – mykhal