Web サイトと mechanize のインターフェイスをとっています。Web サイトは JavaScript を使用してカスタム フォームを作成し、作成後に送信します。つまり、フォームを作成し、サイトの JavaScript と同じように入力要素を追加して、送信します。
2068 次
1 に答える
1
これはうまくいくようです:
br.open(URL)
res = mechanize._form.ParseString(FORM_HTML, BASE_URL)
br.form = res[1]
#continue as if the form was on the page and selected with .select_form()
br['username'] = 'foo'
br['password'] = 'bar'
br.submit()
URL
訪問したサイトの完全な URL です。BASE_URL
は URL があるディレクトリです。は次の要素FORM_HTML
を持つ任意の HTML です。form
<form method='post' action='/login.aspx'>
<input type='text' name='username'>
<input type='text' name='password'>
<input type='hidden' name='important_js_thing' value='processed_with_python TM'>
</form>
何らかの理由で、mechanize._form.ParseString
2 つのフォームを返します。1 つ目は、GET
入力のないベース URL への要求です。2 つ目は、 から適切に解析された形式ですFORM_HTML
。
于 2012-05-04T19:51:46.200 に答える