问题标签 [headless-browser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
13 回答
39491 浏览

javascript - 为什么 Node.js 没有原生 DOM?

当我发现Node.js 是使用 V8 JavaScript 引擎构建的时,我想:

太好了,网页抓取将更容易,因为页面将像在浏览器中一样呈现,“本机”DOM 支持 XPath 和执行页面上的任何 AJAX 调用。

  1. 当它使用与 Chrome 相同的 JavaScript 引擎时,为什么它没有原生 DOM?
  2. 为什么它没有在检索到的页面中运行 JavaScript 的模式?
  3. 关于 JavaScript 引擎与 Web 浏览器中的引擎,我不了解什么?

非常感谢!

0 投票
2 回答
2941 浏览

c# - .NET 的无头 webkit

你们中有人知道 .NET 的无头 webkit 包装器吗?

我看过WebKitDotNet但它似乎无法在无头模式下工作。

0 投票
6 回答
17435 浏览

javascript - 具有屏幕截图功能的无头 node.js javascript 浏览器?

是否有任何 node.js 的无头浏览器支持将呈现的页面转储到文件中?我知道phantomjs支持渲染到文件,但它不在 node.js 上运行。我知道zombie.js是一个node.js 无头浏览器,但它不支持渲染到文件。

0 投票
1 回答
1471 浏览

php - 支持 javascript 的无头浏览器可与共享主机一起使用

我有一个关于共享主机的网站(具有预期的 PHP/Python/Ruby/MySql 支持)......我需要对一个非常重的 javascript 网站进行服务器端导航/抓取。所以我需要一个无头浏览器来使用服务器端,它可以与启用 javascript 的页面一起使用,并且我应该能够使用托管计划......

0 投票
12 回答
54314 浏览

unit-testing - Selenium 是否支持无头浏览器测试?

我目前正在查看 Selenium Server,我似乎没有注意到支持无头浏览器测试的驱动程序。

除非我弄错了,否则它不支持它。如果您在 X 上,您可以创建一个虚拟帧缓冲区来隐藏浏览器窗口,但这并不是真正的无头浏览器。

任何人都可以启发我吗?Selenium 是否支持无头浏览器测试?

0 投票
3 回答
1208 浏览

javascript - ree + cucumber 中的无头 JavaScript 测试

有没有办法在 ree(Ruby 企业版)中进行无头 javascript 测试?

我见过 celerity/culerity/capybara,它们可以与 jruby + HTMLUnit 一起使用,但我似乎无法让它与 ree 一起使用。当我简单地尝试@culerity在 ree 下注释我的黄瓜测试时,我得到jruby: command not found了 ,这当然是有道理的,因为我在 ree 下运行,而不是在 jruby 下运行。

0 投票
1 回答
1908 浏览

perl - 使用 MozRepl 设置无头 Firefox

我想运行一个可以在没有 X 服务器的环境中处理 javascript 创建的 html 的爬虫。我知道我可以在 xvfb 下以无头状态运行 Firefox,并且我知道如何在 Firefox 上安装 MozRepl 并在我拥有实际浏览器并可以下载和设置模块时使用 WWW::Mechanize 与之交互。

我不知道如何在没有 X 服务器的环境中在 Firefox 上设置 MozRepl,以便我轻松安装模块。任何帮助表示赞赏。

0 投票
0 回答
746 浏览

javascript - 如何在无头环境中使用 Capybara 模拟键盘事件?

我正在尝试测试复杂的网络应用程序 GUI,其中涉及一些重要的键盘交互。我对 GUI 的特定组件进行了单元测试,但我也使用 Cucumber 和 Capybara 进行端到端验收测试。我为此使用了无头 Linux 机器,一切都是通过 ssh 完成的。

问题是,我找不到支持 Javascript、允许模拟键盘事件并且是无头的 Capybara 驱动程序

到目前为止我的研究总结:

  • 水豚 webkit。尝试,研究了很多文档和代码,发现它没有简单的键盘模拟,但我可以编写自己的使用execute_script和这个问题,或者尝试弄清楚它是如何trigger工作的。

  • 。有send_keys,听起来很完美,但是。“只要安装了 Firefox,一切都为您设置好了”。我无法安装 Firefox,但我可以尝试设置Selenium-remote 。

  • 水豚-envjstrigger看起来有点 hacky,没有文档,但可以通过查看代码来弄清楚它是如何工作的。

所以,我厌倦了研究和寻求指导。

是否有一些我缺少的明显解决方案?它应该首先尝试我列表中的哪个选项?也许有人在无头环境中使用 Capybara 测试模拟 Javascript 键盘事件有一些有用的经验?

0 投票
4 回答
4496 浏览

webdriver - 是否可以在 Windows 框中以无头模式运行浏览器?

我正在使用 Java 中的 webdriver 编写测试。有没有办法在 Windows 框中以无头模式运行浏览器(ff / ie)?

我不能使用 linux 机器并且 HtmlUnitDriver 没有帮助,因为我们的 webapp 有许多 ajax 控件。

0 投票
9 回答
1203 浏览

firefox - 打包无头浏览器的最佳方法?

我正在为客户端开发桌面软件,我正在考虑 UI,我将使用 HTML5+JS 等标准 Web 技术,并计划简单地将我的软件打包到 Chrome/Firefox 等现代浏览器的无头版本中。例如,它只是浏览器的页面查看器/渲染引擎部分,没有边框/菜单/选项卡/快捷方式/配置文件等。以独立于平台的方式完成此任务的最简单方法是什么。我知道 Mozilla 有像Prism / Chromeless这样的项目,但它们已经一年多没有更新了。