私は論文プロジェクトの飛行データを掻き集めようとしています。具体的にはSTA Travelです。私は多くの経験はありませんが、私は過去に他のページと同じような小さな仕事をしており、問題は一度もありませんでした。しかし、このページを作る際に何か(多くのもの?)は、一見不可能に見えます。クロム、Geckodriver(Mozillaの)とPhantomJS スクラップのためのブラウザの自動化:ドロップダウン/オートコンプリートの入力ボックスによる不可能なページ?
とJavascriptとファントムJS私はどちらかと
- Pythonとセレンを:私がこれまで試してみました何
hereと与えられた短く一見正直なフォワードコードを使って、拳のテキストボックスをいっぱいにすることさえできませんでした。
PythonとSeleniumでは、私は幾分余計になってしまいますが、主な理由は、入力ボックスの実装によるものです。その中に何かを入力すると、オートコンプリート結果を示すダイナミックドロップダウンメニューが開きます。そのうちの1つを適切にクリックせずに、入力した後にボックスをクリックするだけで、テキストボックスは自動的にクリアされます。これらのものは、石油を含む石鹸のプログラミングに相当するように感じます - それらをつかむようにしても、あなたのコントロールから外れます。
ここでは、Python、Selenium、geckodriverがインストールされていると仮定して、簡単な実行可能コードを示します。あなたが表示されます
# import selenium driver and helpers from selenium import webdriver # set browser driver driver = webdriver.Firefox() # open url driver.get(url) driver.implicitly_wait(30) # select forms depart_input = driver.find_element_by_css_selector(".flight_depart_location.ui-autocomplete-input") destin_input = driver.find_element_by_css_selector(".flight_arrive_location.ui-autocomplete-input") # send text depart_input.send_keys(u"Zürich, Schweiz, ZRH") destin_input.send_keys(u"Peking Int'l Apt, China, PEK")
、第1の入力は、すぐに第二が充填されるよう再び削除されます。私はキーを送信し、それをクリックすることで、能動素子を設定するように、私はオンラインで見つけることができるすべてのトリックを試してみました.ENTER/RETURNを押してボックス間を移動します。しかし、このサイトは私には "unautomatable"と思われます。そして、私は解決策がそれほど難しくないと確信していますが、私はそれを自分で見つけることはできません。ですから、誰かがこのページを自動化してスクラップする方法を知っていれば、とても感謝しています。どんなにソリューションが見えても(Python、Javascript ...何か他のもの)。
ありがとうございました!
は、なぜあなたは来て最初のドロップダウンオプションをクリックしていけませんか? – mosaad