0

私はこれに数日間取り組んでいます。これを機能させる方法を実際に見つけることができません。私はaspx Webサイトにかなり慣れておらず、それらから情報を取得しています。

aspx ページを使用する Web サイトでログイン/認証しようとしています。だから私はこのスレッドをたどりました。これは、これを動かすのに本当に役立ちました. (最後の回答)

これらの指示に従って、私は次のように書いています。

url = "http://samplewebsite/Main/Index.aspx" # Logon page
username = "user"
password = "password"

browser = RoboBrowser(history=True)
# This retrieves __VIEWSTATE and friends
browser.open(url)
signin = browser.get_form(id='form1')
print(signin)

これは、その print ステートメントの結果です。

<RoboForm __VIEWSTATE=/wEPDwULLTE5ODM2NTU1MzJkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBQlidG5TdWJtaXRriD1xvrfrHuJ/0xbQM08yEjyoUg==, __VIEWSTATEGENERATOR=E78488FE, adminid=, btnSubmit=, pswd=>

したがって、情報を正しく取得していることは明らかです。今、私は3つの入力フィールドを持っています:

adminid
btnSubmit
pswd

次の方法で使用できます。

signin["adminid"].value = username
signin["pswd"].value = password
signin["btnSubmit"].value = "btnSubmit.x=29&btnSubmit.y=22"

btnSubmit私の唯一の問題は、これが次のタイプであるため、値を入力する方法がわからない最後のフィールドです。

<input type="image" name="btnSubmit" id="btnSubmit" tabindex="3" src="../image/login_btn.gif" style="height:41px;width:57px;border-width:0px;" />

Chrome ツールを使用して Web サイトに送信すると、次の結果が得られます。

    __VIEWSTATE:/wEPDwULLTE5ODM2NTU1MzJkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBQlidG5TdWJtaXRriD1xvrfrHuJ/0xbQM08yEjyoUg==
__VIEWSTATEGENERATOR:E78488FE
adminid:user
btnSubmit.x:23
btnSubmit.y:15
pswd:password

基本的にx,y位置は、ページ上でクリックした場所です。Python でこのリクエストを行う方法が本当にわかりません。これを無駄に使用しました。

4

1 に答える 1