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

无头互联网浏览器?

如何解决《无头互联网浏览器?》经验,为你挑选了2个好方法。

我想做以下几点.登录网站,单击几个特定链接,然后单击下载链接.我想将它作为Windows上的计划任务或Linux上的cron作业运行.我对我使用的语言并不挑剔,但我希望如果可能的话,不要在屏幕上放置浏览器窗口.



1> Nathan Ridle..:

以下是我所知道的无头浏览器列表:

HtmlUnit - Java.定制浏览器引擎.有限的JavaScript支持/ DOM模拟.开源.

Ghost - 仅限Python.基于WebKit的.完整的JavaScript支持.开源.

斜纹 - Python /命令行.定制浏览器引擎.没有JavaScript.开源.

PhantomJS - 命令行/所有平台.基于WebKit的.完整的JavaScript支持.开源.

Awesomium - C++ /.NET /所有平台.铬为主.完整的JavaScript支持.商业/免费.

SimpleBrowser - .NET 4/C#.定制浏览器引擎.没有JavaScript支持.开源.

ZombieJS - Node.js. 定制浏览器引擎.JavaScript支持/模拟DOM.开源.基于jsdom.

EnvJS - 来自Java/Rhino的JavaScript.定制浏览器引擎.JavaScript支持/模拟DOM.开源.

Watir-webdriver与无头宝石 - Ruby通过WebDriver.通过浏览器(Firefox/Chrome/Safari/IE)提供完整的JS支持.

Spynner - 仅限Python.PyQT和WebKit.

jsdom - Node.js. 定制浏览器引擎.通过模拟DOM支持JS.开源.

TrifleJS - 使用MSIE(Trident)和V8的PhantomJS端口.开源.

ui4j - 纯Java 8解决方案.围绕JavaFx WebKit Engine的包装库.无头模式.

Chromium Embedded Framework - 完整的Chromium嵌入式版本,可根据需要进行屏幕外渲染.C/C++,包含.NET包装器(和其他语言).因为它是Chromium,它支持一切.BSD许可.

Selenium WebDriver - 通过浏览器(Firefox,IE,Chrome,Safari,Opera)完全支持JavaScript.官方支持的绑定是C#,Java,JavaScript,Haskell,Perl,Ruby,PHP,Python,Objective-C和R.非官方绑定可用于Qt和Go.开源.

通过模拟DOM提供JavaScript支持的无头浏览器通常会遇到一些使用更高级/模糊浏览器功能的网站的问题,或者具有视觉依赖性的功能(例如通过CSS位置等),因此在这些浏览器中支持纯JavaScript浏览器通常是完整的,实际支持的浏览器功能应该被视为仅部分.

(注意:这篇文章的原始版本只提到了HtmlUnit,因此注释.如果您知道其他无头浏览器实现并具有编辑权限,请随时编辑此帖并添加它们.)


JS支持HTMLUnit非常糟糕.恐怕不是答案.
HtmlUnit的javascript没什么问题。考虑它是一个无JS的浏览器。
不幸的是,HtmlUnit和HttpUnit都是前Ajax.它们是为一个Javascript用于表单验证的时代而编写的(你可以完全忘记JQuery EVER在任何一个下工作的东西),而且根据我的阅读,任何人都不可能支持"现代"Javascript只是因为它需要完全重写他们的Javascript引擎,或者由另一个替换它的绑定可能*与原始的*不同,它需要事实上重写整个框架以适应它.

2> orip..:

查看twill,这是一种非常方便的脚本语言,可以满足您的需求.从示例:

setlocal username 
setlocal password 

go http://www.slashdot.org/
formvalue 1 unickname $username
formvalue 1 upasswd $password
submit

code 200     # make sure form submission is correct!

如果您正在寻找更多灵活性,还有一个Python API.

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