无头,脚本化的Firefox / Webkit的Linux?

我正在寻求自动化一些networking交互,即定期从安全的网站下载文件。 这基本上涉及input我的用户名/密码和导航到适当的URL。

我尝试了简单的Python脚本,然后是更复杂的脚本,只是发现这个特定的网站正在使用一些令人讨厌的基于JavaScript和Flash的login机制,使我的方法无用。

然后,我尝试HTMLUnit,但似乎并不想要工作。 我怀疑是使用Flash的问题。

我不想再考虑这个问题了,所以我倾向于使用脚本编写实际的浏览器来login并获取我需要的文件。

要求是:

  • 在Linux服务器上运行(即没有X运行)。 如果我真的需要让XI能做到这一点,但我不会高兴。
  • 可靠。 我想开始这个事情,不要再想这个了。
  • 可以编写脚本 没有太复杂的,但我应该能够告诉浏览器采取的各种步骤和页面访问。

X无脚本的可编写脚本的浏览器有没有好的工具包? 你有没有尝试过这样的事情,如果有的话,你有任何智慧的话?

我用IEembedded式浏览器做了相关的任务(虽然它是带隐藏浏览器组件面板的GUI应用程序)。 其实你可以采取任何布局引擎和减less输出逻辑。 导航应该通过发射类似脚本的事件来完成。

你可以使用撬棍 。 这是Firefox的无头版本(Gecko引擎)。 它将浏览器变成RESTful服务器,可以接受请求(“抓取url”)。 所以它parsinghtml,将其表示为DOM,等待所有执行脚本的延迟。

它在linux上运行。 我想你可以使用JS和丰富的XULrunnerfunction轻松扩展它。

那么phantomjs呢?

你有没有试过Selenium ? 它将允许您使用Firefox的扩展程序来logging使用情况,稍后可以使用多种不同的方法来播放。

编辑:我只是意识到这是一个非常晚的反应。 🙂

看看WebKitDriver 。 该项目包括WebKit的无头执行。

我不知道如何做Flash交互(也有兴趣),但是对于html / javascript,你可以使用Chickenfoot 。

为了得到一个在Linux上运行的无脚本浏览器,你可以使用Qt的webkit库 。 这是一个示例使用 。

为了达到这个目的,我只写了一些发布到CouchDBs( 例如 ,它的蒲团 )的Chrome扩展。 将沙发添加到清单中的权限以允许跨域XHR。

(我到达这个线程寻找一个无头的替代scheme,我已经find了这个线程,我要去尝试一下Crowbar。)

另外,考虑到这个网站的怪异特征,我不禁想知道是否可以利用一些安全漏洞绕过Flash和Javascript。

iMacros for Linux允许您脚本化Firefox和Chrome: http : //wiki.imacros.net/Linux