javascript - 在页面上运行 JavaScript 代码而不显示浏览器窗口

标签 javascript browser command-line command-line-interface

我有一个关于 JavaScript 和可以运行其代码的方法的问题。正如我们所知,标签中嵌入了一些 JavaScript 代码,它在浏览器窗口中本地运行——这很常见,这就是网页当前的工作方式。

如果我们想与我们正在浏览的网页进行开箱即用的交互,我们必须使用诸如 GreaseMonkey 之类的工具并编写我们的用户脚本,以使我们能够将页面行为更改为所需的行为。这仍然需要我们打开浏览器窗口并访问我们的目标。

问题是:我们能否在不打开浏览器窗口的情况下在某个页面上运行 JavaScript 代码?我的意思是,在理想的解决方案中,会有一个命令行工具允许我们调用:

./clibrowser http://google.com userscript.js

例如,在哪个脚本中,我们可以运行一些 AJAX 代码来获取来自查询的数据,并将其传递给其他一些 PHP 脚本,然后将其保存到数据库中。

我认为这个问题可以简化为:是否有任何工具,如带有 JavaScript 引擎的“命令行浏览器”? 我知道,这听起来可能很奇怪,但我只是因为我心中的想法而感到好奇。

最佳答案

就在这里。有 NodeJS,它在 Chrome 的 V8 javascript 引擎上运行:http://nodejs.org/ .

还有在 Java 上运行的 Rhino:http://www.mozilla.org/rhino/ .

关于这些的事情是它们不包含这样的“浏览器”......它们只是可以执行javascript的javascript引擎,但不提供开箱即用的解析/操作HTML的能力。但是,有一些基于这些引擎构建的 javascript 库可以为您简化大部分工作。

关于javascript - 在页面上运行 JavaScript 代码而不显示浏览器窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4471733/

相关文章:

linux - ubuntu下如何访问隐藏目录

ubuntu - 如何修复 IntelliJ IDEA 安装错误?

javascript - Regex 正面先行得到第一次出现

javascript - onClick 事件在 React redux ToDoList 应用程序中未触发

ios - 如何获取默认的 iOS 浏览器名称?

ajax - 加入并发/相同的 HTTP GET 请求?

c - 在 Windows shell 命令中嵌入 Python 代码

javascript - 将 JSON 日期时间对象转换为 JavaScript 对象

javascript - jQuery 类选择器事件绑定(bind)是否将 eventHandler 附加到每个实例?

javascript - 是否可以使用插件更改浏览器地址栏行为?