【问题标题】:Opening a website frame or image in python在 python 中打开网站框架或图像
【发布时间】:2010-09-14 11:23:40
【问题描述】:

所以我对 python 相当流利,并且经常使用 urllib2 和 Cookies 来实现网站自动化。我刚刚偶然发现了“webbrowser”模块,它可以在您的默认浏览器中打开一个 url。我想知道是否可以从该 url 中仅选择一个对象并将其打开。具体来说,我想打开一个“验证码”,以便用户可以输入它,并继续做其他事情。

这是在 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>');

任何信息都会对此有所帮助。

【问题讨论】:

    标签: python cookies browser urllib2


    【解决方案1】:

    使用 webbrowser 模块是不可能的。 Webbrowser 所做的只是提供一种简单的方法来识别默认 Web 浏览器并向其提供 URL。

    如果您只想渲染页面的一部分,您需要可以采用任意 HTML 片段或在加载页面后注入一些 Javascript 以去除不需要的元素的东西。

    为此,您需要构建一个特定用途的网络浏览器,它只不过是一个包含网络小部件的对话框。

    这可以使用以下任何库组合来完成:

    我的建议:

    • 如果 GPL 许可没问题,请使用 PyQt。
    • 如果 GPL 许可不可行:
      • 对于 Linux,将 PySide 或 PyGTK 与 PyWebKitGTK 一起使用(GTKMozEmbed 很重)
      • 对于 Windows,将 wxPython 与 wxIEHtmlWindow 一起使用
      • 对于 OSX,您必须询问其他人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-14
      • 1970-01-01
      相关资源
      最近更新 更多