Python mechanize を使用して Web ページにログインしようとしています。正しいフォームを見つけるのに問題があるため、URL (コードが変更される可能性があります) を投稿する代わりに、将来のユーザーのためにコードの一部をここにコピーします。私はこれを読みましたが、決定的な答えはあまりないようでした。
とにかく、このチュートリアルでは、フォームを取得するまで機械化を使用してすべてを行いました。
私が電話するとき:
for form in br.forms():
print form
私は戻ってきます:
POST https://www.myexample.com/x-www-form-urlencoded
HiddenControl(utf8=✓) (readonly)
HiddenControl(authenticity_token=BfqPL1ilOXeg08Or/CEBAiK4duWgncY=
CheckboxControl(affiliate[remember_me]=[1])
生の HTML を見ると、次のように表示されます。
<label for="affiliate_email">Email<./label>
<.input autofocus="autofocus" id="affiliate_email"
name="affiliate[email]" size="30" type="email" />
ただし、メール フィールドを選択しようとすると、フォームが見つからないというエラーが表示されます。
br.select_form(name="affiliate[email]")
# updated to
br.select_form(nr=0)
# Now what do I do here to enter something into that form?
br.form['someIDhere']='myEmail@example.com'
また、フォーム ID や他の多くの可能なフォーム名を使用してみました。br.forms() でフォームを印刷すると奇妙な結果が返される理由がわかりません。これは、サイトがログインフォームに JavaScript を使用していることを意味しますか?
前もって感謝します!