2011-12-26 71 views
2

我想從一個網站使用機械化和python,http://www.jet4you.com獲得可用的航班數據,但下拉列表控件顯示「無」的可用項目。無論如何,要使用mechanize,urllib或beautifulsoup來獲得<options>使用機械化和python站點刮下拉列表

當我使用fiddler提交表單時,我看到下拉列表的值,但我無法使用機械化選擇它們。

br = mechanize.Browser() 
br.possible_items("AvailabilityCompactSearchInputViewType$DropDownListMarketOrigin1") 
["none"] 
+2

如果從AJAX調用中加載下拉值,則需要嗅探AJAX請求到服務器並模擬它們,或者使用更強大的功能,可以處理JavaScript並具有完整的DOM實現。 – em70 2011-12-26 14:57:21

+0

我認爲@ emaster70是對的。你會在這個問題的答案中找到更多幫助(http://stackoverflow.com/q/8323728/183066)。 – jcollado 2011-12-26 15:35:10

回答

1

放棄對機械化的JavaScript。使用支持JavaScript的瀏覽器模擬器,如硒。我也嘗試過機械化,但它只是失敗。

+0

[Splinter](http://splinter.cobrateam.info/)可以非常有幫助,並且比純硒更容易。 – brandizzi 2012-04-04 19:14:03