无头互联网浏览器? [英] headless internet browser?

查看:25
本文介绍了无头互联网浏览器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I would like to do the following. Log into a website, click a couple of specific links, then click a download link. I'd like to run this as either a scheduled task on windows or cron job on Linux. I'm not picky about the language I use, but I'd like this to run with out putting a browser window up on the screen if possible.

推荐答案

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

Here are a list of headless browsers that I know about:

  • HtmlUnit - Java.自定义浏览器引擎.有限的 JavaScript 支持/DOM 模拟.开源.
  • Ghost - 仅限 Python.基于 WebKit.完整的 JavaScript 支持.开源.
  • Twill - 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-webdriverheadless gem - 通过 WebDriver 的 Ruby.通过浏览器 (Firefox/Chrome/Safari/IE) 提供完整的 JS 支持.
  • Spynner - 仅限 Python.PyQT 和 WebKit.
  • jsdom - Node.js.自定义浏览器引擎.通过模拟 DOM 支持 JS.开源.
  • TrifleJS - 使用 MSIE (Trident) 和 V8 的 PhantomJS 端口.开源.
  • ui4j - 纯 Java 8 解决方案.围绕 JavaFx WebKit 引擎的包装库,包括.无头模式.
  • Chromium 嵌入式框架 - Chromium 的完整最新嵌入式版本,具有屏幕外渲染功能需要.C/C++,带有 .NET 包装器(和其他语言).因为它是 Chromium,所以它支持一切.BSD 许可.
  • Selenium WebDriver - 通过浏览器(Firefox、IE、Chrome、Safari)完全支持 JavaScript,歌剧).官方支持的绑定是C#、Java、JavaScript、Haskell、Perl、Ruby、PHP、Python、Objective-C 和 R.非官方绑定可用于 Qt开始.开源.
  • HtmlUnit - Java. Custom browser engine. Limited JavaScript support/DOM emulated. Open source.
  • Ghost - Python only. WebKit-based. Full JavaScript support. Open source.
  • Twill - Python/command line. Custom browser engine. No JavaScript. Open source.
  • PhantomJS - Command line/all platforms. WebKit-based. Full JavaScript support. Open source.
  • Awesomium - C++/.NET/all platforms. Chromium-based. Full JavaScript support. Commercial/free.
  • SimpleBrowser - .NET 4/C#. Custom browser engine. No JavaScript support. Open source.
  • ZombieJS - Node.js. Custom browser engine. JavaScript support/emulated DOM. Open source. Based on jsdom.
  • EnvJS - JavaScript via Java/Rhino. Custom browser engine. JavaScript support/emulated DOM. Open source.
  • Watir-webdriver with headless gem - Ruby via WebDriver. Full JS Support via Browsers (Firefox/Chrome/Safari/IE).
  • Spynner - Python only. PyQT and WebKit.
  • jsdom - Node.js. Custom browser engine. Supports JS via emulated DOM. Open source.
  • TrifleJS - port of PhantomJS using MSIE (Trident) and V8. Open source.
  • ui4j - Pure Java 8 solution. A wrapper library around the JavaFx WebKit Engine incl. headless modes.
  • Chromium Embedded Framework - Full up-to-date embedded version of Chromium with off-screen rendering as needed. C/C++, with .NET wrappers (and other languages). As it is Chromium, it has support for everything. BSD licensed.
  • Selenium WebDriver - Full support for JavaScript via browsers (Firefox, IE, Chrome, Safari, Opera). Officially supported bindings are C#, Java, JavaScript, Haskell, Perl, Ruby, PHP, Python, Objective-C, and R. Unofficial bindings are available for Qt and Go. Open source.

通过模拟 DOM 提供 JavaScript 支持的无头浏览器通常在某些使用更高级/模糊浏览器功能或具有视觉依赖(例如通过 CSS 位置等)的功能的网站上存在问题,因此虽然纯 JavaScript这些浏览器的支持一般是完整的,实际支持的浏览器功能应该只考虑部分.

Headless browsers that have JavaScript support via an emulated DOM generally have issues with some sites that use more advanced/obscure browser features, or have functionality that has visual dependencies (e.g. via CSS positions and so forth), so whilst the pure JavaScript support in these browsers is generally complete, the actual supported browser functionality should be considered as partial only.

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

(Note: Original version of this post only mentioned HtmlUnit, hence the comments. If you know of other headless browser implementations and have edit rights, feel free to edit this post and add them.)

这篇关于无头互联网浏览器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆