2016-04-26 52 views
0

サイトの内容を取得したいのですが、 'https://xxxxxx/login.htmx'です。Python - Javascriptを使ったログインフォーム

payload = {'j_username':'______', 
     'j_password':'______', 
     'imp_num':'_____'} 
url = 'https://xxxx/login.htmx' 
s = requests.Session() 
r = s.post(url, data=payload) 

をしかし、私はr.textをしようとすると、それは私を与える:

<script language="javascript">$(document).ready(function() { 
$('#BTN_ACCEDI').linkbutton({plain:false}); 
$('#BTN_ACCEDI').click(function(){customSubmitLogin();}); 
$('#j_password').validatebox({required:true,validType:'length[1,80]' }); 
$('#j_username').validatebox({required:true,validType:'length[1,80]'});  
$('#imp_num').validatebox({required:true,validType:'length[1,5]'});  
$('#j_username').focus(); 
});</script> 

はSO私はこれに私をもたらしたいくつかの手がかりを見つけた上での検索:HTMLコードでは、このようなJS-スクリプトがあります元のHTMLページではなく、ログイン後のHTMLページです。
私を助けることができますか?成功したログイン後のURLが同じであることを知っておくと便利ですか?

+0

最小限にしてください、実際の例です。 – linusg

+0

申し訳ありませんが、私は実際の例で何を意味するのか分かりません。 私が提供したコードでは、htmlコンテンツを抽出できません。何を追加できますか? –

+0

私は輸入品などを意味します。あなたが使っている 'requests.Session()'が標準のlibかどうかは分かりません! – linusg

答えて

0

あなたはより多くのフォームデータを必要とする:

import requests 

data = {"dispatch": "toWelcomePage", 
     "j_username": "username", 
     "j_password": "youpass", 
     "imp_num": "num", 
     "enteSel": "num"} 
with requests.session() as s: 
    r = s.post("https://www.sic.ania.it/login.htmx", data=data) 

あなたが開発者向けツールを開く見れば、あなたがブラウザから送信したときに掲載されますかを見ることができます。

enter image description here

+0

"ディスパッチ"フォームとは何ですか?私はそれの下で何を書くべきですか? –

+1

あなた自身を追加する必要があるのは、最後の4つの値です –

+0

悲しいことに、何も変わりません。 'r.text'と入力すると、常に同じhtmlページが表示されます。 –

関連する問題