从Python控制浏览器

时间:2010-06-13 21:15:09

标签: javascript python browser macros webkit

我正在寻找一种从Python控制浏览器的方法,即填写表单字段并提交它们,可能调用JS函数。我看了一下,但据我所知,PyWebKitGtk只允许你将浏览器显示为GUI元素,而不是与它的接口。

有没有办法轻松完成这项工作? 我用Python编写了程序逻辑,我讨厌把它移植到JS。 除此之外,即使我使用纯JS“bookmarklets”,那些也无法读取/写入我的本地文件系统,是吗?

此外,页面上的一些内容是使用AJAX生成的,所以我正在寻找一个javascript正常运行的解决方案。

P.S。为了平息你的怀疑,我不是试图自动填写论坛帐户创建表格或类似的垃圾邮件,尽管任务在技术上是相似的。我需要为我的研究项目抓取/抓取网站。

编辑:IEC看起来很有前途,但我正在使用Mac。

3 个答案:

答案 0 :(得分:3)

您可以尝试类似Selenium这样的应用程序,它是一种通过各种语言(包括Python)来编写脚本浏览器的应用程序 - 它用于跨浏览器测试,但可能会做您想要的。

答案 1 :(得分:1)

答案 2 :(得分:1)

您可以实现Webkit浏览器(在Python中):

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
app = QApplication(sys.argv)
web = QWebView()
web.load(QUrl("http://google.com"))
web.show()
sys.exit(app.exec_())

或者使用Crowbar为xulrunner(Firefox)提供API接口。