当前位置:  开发笔记 > 编程语言 > 正文

Linux上无头,可编写脚本的Firefox/Webkit?

如何解决《Linux上无头,可编写脚本的Firefox/Webkit?》经验,为你挑选了4个好方法。

我希望自动化一些网络交互,即从安全网站定期下载文件.这主要涉及输入我的用户名/密码并导航到相应的URL.

我在Python中尝试过简单的脚本,然后是更复杂的脚本,只是发现这个特定的网站正在使用一些讨厌的基于javascript和flash的机制进行登录,渲染我的方法毫无用处.

然后我尝试了HTMLUnit,但这似乎也不想工作.我怀疑使用Flash是个问题.

我真的不想再考虑它,所以我倾向于编写一个实际的浏览器脚本来登录并获取我需要的文件.

要求是:

在linux服务器上运行(即没有X运行).如果我真的需要让XI能够做到这一点,但我不会高兴.

要可靠.我想开始这件事,再也不去想它了.

可编写脚本.没有什么太复杂,但我应该能够告诉浏览器采取的各种步骤和访问页面.

对于无头,无X脚本的浏览器,有什么好的工具包吗?你有没有尝试过这样的事情?如果有的话,你有没有任何智慧的话语?



1> Phil..:

那个幻影怎么样?


PhantomJS现在支持持久性cookie,并且不需要X11服务器(不确定何时,但最新的1.5.0在我的无头linux服务器上工作正常)
Phantomjs需要X服务器(http://code.google.com/p/phantomjs/issues/detail?id=33)
是的,但是如果你想模拟登录网站和使用cookies这样的东西,祝你好运!

2> Dmitry..:

我用IE嵌入式浏览器做了相关的任务(尽管它是带有隐藏浏览器组件面板的gui应用程序).实际上你可以采用任何布局引擎和切割输出逻辑.应该通过触发类似脚本的事件来完成导航.

你可以使用Crowbar.它是firefox(Gecko引擎)的无头版本.它将浏览器转换为可以接受请求的RESTful服务器("获取URL").所以它解析html,将其表示为DOM,等待所有脚本执行的定义延迟.

它适用于Linux.我想你可以使用JS和丰富的XULrunner功能轻松扩展它以实现你的目标.



3> 小智..:

你试过Selenium吗?它允许您使用Firefox的扩展记录使用场景,以后可以使用多种不同的方法进行回放.

编辑:我刚刚意识到这是一个非常晚的回应.:)



4> Michael Spec..:

看看WebKitDriver.该项目包括WebKit的无头实现.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有