2016-06-28 4 views
1

私はテストしようとしているサイトを持っていますが、ドロップダウンでオプションのリストを取得することはできますが、どのように選択するかわかりません。送信ボタンはありませんので、選択すると下にajaxテーブルがロードされます。lxml /要求でドロップダウン・オプションを選択し、結果のajaxを解析できますか?

lxml /リクエストがこれを行うことができるかどうか、またはそれを実行する方法がわかりません。もし誰かがそれを行うことができる機能を確認したり知っていれば、私はそれを感謝しますか?

編集:私のサイトは、内部およびアクセスすることはできませんが、ここでサンプルサイトです:https://www.tsx.com/listings/listing-with-us/listed-company-directoryお知らせあなたが検索の横のボックスを選択した場合、それはAjaxの結果を引き出します(A、B、C、等。)

+0

にcurlコマンドを変換するには、私は推測する、特定のユースケースに依存、あなたは内の値を選択する必要がページへのリンクを提供することができます落ちる?ありがとう。 – alecxe

+0

こんにちは@alecxeリンクを含めるように質問を編集しましたが、それは正確なものではありませんが、完璧な例です。 – Lostsoul

+0

ありがとうございます。このサンプルは簡単ですが、ドロップダウンでオプションを選択するたびに、 'https://www.tsx.com/json/company-directory/search/tsx/ ' URLにAJAXリクエストが送信されます。あなたのコードでは、 'select-option'や' form'レベルでは動作しません。 'https://www.tsx.com/json/company-directory/search/tsx/ '希望する文字のURL。あなたは本当のブラウザを持っていないので、 "この要求を行う"、 "HTMLを解析する"、 "別の要求を行う"レベルで動作します。 – alecxe

答えて

4

lxml + requestsの設定では、別のレベル、より低いレベルで操作します。 requestsのドロップダウンリストはありません。はブラウザではありません

あなたの問題への一般的なアプローチがにある:好みのブラウザで

  • 開いているブラウザの開発者ツール、ネットワークタブ
  • は、送信された要求(複数可)を観察するドロップダウン
  • でオプションを選択しますネットワークタブでサーバに
  • はこれをシミュレート/あなたのPythonコードでこれらの要求

あなたが要求遷移に開発ツールを容易にするために使用できるもう一つの「トリック」があります:

  • 右の[ネットワーク]タブで要求のリストに要求に
  • クリック「のcURLとしてコピー]をクリックします「
  • http://curl.trillworks.com/ Webページに行くとPython +要求コード
関連する問題