1

Pythonスクリプトからフォームを送信する際の問題..ここにフォームがあります

<form id="userLogin" autocomplete="OFF" action="LoginPage.aspx" method="post" name="userLogin"
<input type="text" class="txt" id="Userid" name="Userid" maxlength="12">
<input type="password" class="txtpwdbox" id="Password" name="Password" readonly="" maxlength="10">
<img style="CURSOR:pointer" onclick="userIdValidation();" src="/ENG/images/but-login-en.gif" id="idSubmit">

上記のコードから、最後の行は送信に関するものですが、Python でそれを行うにはどうすればよいでしょうか?

これは私のpythonコードです

import urllib,urllib2,cookielib
login_data = urllib.urlencode({'Userid':'test','Password':'123456'})
cj = cookielib.CookieJar()
op = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
c = op = urllib2.urlopen('https://www.example.com/Login/LoginPage.aspx', login_data)
print c.read()

しかし、それは送信されていません..userIdValidation()機能が何であるかをさまよう場合に備えて、基本的に、ユーザーがユーザー名とパスワードのフィールドに入力したかどうかを確認してから、そのコマンドを実行しますdocument.userLogin.submit();

4

3 に答える 3

0

.net Framework実装サイトからそのページをフェッチしていると思います(ここでは「LoginPage.aspx」)

.netフレームワークの多くのサイトでPageViewプロパティが有効になっています。これは、ページの状態を維持するメソッドの1つですが、データ要求の一部が開始されます。

したがって、リクエストを投稿する場合は、PageViewまたはその他の.netフレームワークデータを忘れないでください。

于 2012-07-19T02:53:09.663 に答える
0

上記を試すことができますが、オープナー「op」をビルドすると

op = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))

なぜ使うのか

urllib2.urlopen('https://www.example.com/Login/LoginPage.aspx', login_data)

これはクッキーを渡すことができません

于 2012-07-19T03:03:04.023 に答える
0

Maybe you could try mechanize (PyPI page). Not sure whether it handles Javascript, but it helped me a lot at navigating between pages and submitting forms. Furthermore, you would get rid of the cookie management.

于 2012-07-19T01:04:51.083 に答える