在python中打开一个网站框架或图像
问题描述:
所以我相当流利地使用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>');
任何信息将帮助这一点。
答
这对于浏览器模块来说是不可能的。所有web浏览器都提供了一种简单的方法来识别默认的Web浏览器并向其提供URL。
如果您只想渲染页面的一部分,您需要一些可以采用任意HTML片段的东西,或者在加载页面以去除不需要的元素后注入一些Javascript。
为此,您需要的是构建一个特定于目的的Web浏览器,它只不过是一个包含Web小部件的对话框。
,可以使用任何图书馆的下列组合来完成:
- PyQt和包括QtWebKit(GPL或商业,Windows/Mac的/ Linux的)
- PySide和包括QtWebKit(LGPL, Linux的)
- PyGTK和PyWebKitGTK(LGPL,容易在Linux上......没有关于Windows或OSX线索)
- PyGTK和GTKMozEmbed(LGPL,轻松在Linux上...不知道Windows或OSX)
- wxPython和包含的wxIEHtmlWindow(BSD-like,仅限于Windows。内嵌的Internet Explorer)
- wxPython和包括wxWebKitCtrl(类似BSD的,OSX只)
- wxPython和wxWebKit(BSD类似,Windows/Mac的/ Linux的)
我的建议是:
- 如果GPL许可证正常,请使用PyQt。
- 如果GPL许可是不正常:
- 对于Linux,使用PySide或PyGTK的与PyWebKitGTK(GTKMozEmbed重)
- 对于Windows,使用的wxPython与wxIEHtmlWindow
- 对于OSX,你必须去问别人。