2013-07-31 10 views
11

私は、Webプログラミングに新たなんだ、と最近いくつかの手動プロセスを自動化するためのPythonを使用してに探し始めています。私がしようとしているのは、サイトにログインし、ドロップダウンメニューをクリックして設定を選択し、レポートを実行することです。ボタンをクリック/ウェブページをナビゲートするためにPythonのリクエスト・ライブラリを使用して

評価の高いリクエストライブラリ:http://docs.python-requests.org/en/latest/user/advanced/#request-and-response-objects が見つかりました。使用方法を理解しようとしています。私は正常にこのページのBPBPの答えを使用してログインしてきた

Python - clicking a javascript button

私の質問:How to use Python to login to a webpage and retrieve cookies for later usage?

「クリック」の私の理解ボタンは、クリックを模倣ポスト()コマンドを書くことです(私はWebプログラミングとこのライブラリを初めて利用しているので)、これらのコマンドをどのように構築するかを理解するために必要なデータをどのように引き出すのかです。私は[RequestObject] .headers、.textなどを見てきました。どんな例も素晴らしいでしょう。

いつものように、あなたの助けに感謝!

EDIT ::: この質問は、より具体的にするために、私は、Webページのさまざまな側面との対話のトラブルを抱えています。以下の画像は、私が実際に何をしようとしているを示しています。私はこのようになり、ウェブページ上のよ

Example

。変更可能なクリック可能な日付のドロップダウンメニューがあります。私の目標は、日付を最新の日付に自動的に変更し、「保存して実行」をクリックし、実行が終了したらレポートをダウンロードすることです。私が見つけたこれに

+0

私は物事をしようとする方向の多くを持っていませんでした。私は、私がやろうとしていることのより具体的なアイデアで投稿を編集しました。だから、HTMLを抽出するのは良いパーサーだとは思えませんが、別の情報をサイトに投稿してタスク、特に「クリックのタスク – so13eit

+0

チェックアウト[セレン](https://pypi.python.org/pypi/selenium)クロールしようとしているページ内のJavaScriptがある場合。 – djas

+0

このようなプロセスの可能なワークフローの1つは、(request.get()を使用して)問題のページを読み込み、ページから取得する必要がある動的フォーム要素を見つけ出し、次にrequests.post()を使用してあなたが必要とする情報ブラウザーの開発ツールを使用すると、POSTリクエストで何が送信されているかを正確に把握することができます。 – brechin

答えて

7

唯一の解決策はSeleniumです。それはあなたがmechanizeを試すことができるjavascriptの重いウェブサイトwasntの場合は、これはあなたがjavascriptをレンダリングし、javascriptを注入する必要があります...セレンのように。

Upside:Firefoxでアクションを記録し(セレンを使用)、それらのアクションをPythonにエクスポートできます。欠点は、このコードがブラウザウィンドウを開いて実行する必要があることです。

関連する問題