2010-08-31 40 views
2

所以我相當流利地使用python,並使用urllib2和Cookies進行網站自動化。我偶然發現了可以在默認瀏覽器中打開url的「webbrowser」模塊。我想知道是否可以從該網址中選擇一個對象並打開它。具體而言,我想打開一個「驗證碼」,以便用戶可以輸入它,並繼續做其他事情。在python中打開一個網站框架或圖像

這是包含在HTML中的驗證碼線,我想:

script type="text/javascript" src="http://api.recaptcha.net/challenge?k=6LcZ-AAAAAAAANX-xwVtzow1f4RpSrbSViRUx9Js"></script> <input type="submit" name="submitBtn" value="Submit" 

,並點擊該API鏈接,打開此:

var RecaptchaState = { 
    site : '6LcZ-AAAAAAAANX-xwVtzow1f4RpSrbSViRUx9Js', 
    challenge : '03AHJ_VuvoUHPdfoXLsVHGa7a26GR9s9Y5dkyKmqk2XsJ1SdiwF_2u0SV_sKnr1artkpc-5MjUe7SYD40xr7sAyvikKwpFCQTBdKUFfl76UP6EbDhezoTC8B1X8fjixuIJ4wJhI6yTc8vlX4ioh6je9lwFbPXllbGh2w', 
    is_incorrect : false, 
    programming_error : '', 
    error_message : '', 
    server : 'http://www.google.com/recaptcha/api/', 
    timeout : 18000 
}; 

document.write('<scr'+'ipt type="text/javascript" s'+'rc="' + RecaptchaState.server + 'js/recaptcha.js"></scr'+'ipt>'); 

任何信息將幫助這一點。

回答

4

這對於瀏覽器模塊來說是不可能的。所有web瀏覽器都提供了一種簡單的方法來識別默認的Web瀏覽器並向其提供URL。

如果您只想渲染頁面的一部分,您需要一些可以採用任意HTML片段的東西,或者在加載頁面以去除不需要的元素後注入一些Javascript。

爲此,您需要的是構建一個特定於目的的Web瀏覽器,它只不過是一個包含Web小部件的對話框。

,可以使用任何圖書館的下列組合來完成:

我的建議是:

  • 如果GPL許可證正常,請使用PyQt。
  • 如果GPL許可是不正常:
    • 對於Linux,使用PySide或PyGTK的與PyWebKitGTK(GTKMozEmbed重)
    • 對於Windows,使用的wxPython與wxIEHtmlWindow
    • 對於OSX,你必須去問別人。