我可以让edge headless通过命令行运行js文件吗?

问题描述 投票:0回答:1

我可能找错了树,但是,有没有办法让边缘浏览器从控制台执行一些js文件? 假设我有一个 js 文件,其中添加了一些简单的行,例如:

// index.js
console.log('Hello world!');

activate('quick brown fox');

function activate(msg) {
  console.log(`message: ${msg}`);
}

现在,我已经安装了 Edge,可以使用命令

MicrosoftEdge.exe
调用它。我查看了 chromium 命令行开关,但无法弄清楚如何获得边缘来运行我的
index.js
(或 `index.html 或我可能拥有的任何内容)

请问可以这样做吗?当我这样做时

MicrosftEdge.exe --headless
命令完成而无需等待(或打开 repl 或等待),所以我不确定在这里做什么

javascript microsoft-edge
1个回答
0
投票

访问 JS 文件的 URL 只会显示文件的内容,因此这将是一个无聊的调试会话。

让我们按照您的建议创建一个使用它的 html 文件,并在 MS Edge 中使用远程调试。

HTML 文件

<html>
  <head><title>JS test</title></head>
  <body>
    <script src="index.js"></script>
  </body>
</html>

命令行:

使用可执行文件所在的路径,重要部分是

--remote-debugging-port
参数,它将停止可执行文件并等待调试会话。

msedge.exe --headless --remote-debugging-port=9222 file:///C:/Users/example/htdocs/index.html

DevTools listening on ws://[::1]:9222/devtools/browser/feedbeef-beef-f00d-f00d-feedbeefbaadf00d

在 MS Edge 中激活远程调试

检查 MS Edge 中是否启用了远程调试。
访问

edge://flags
并搜索 remote 并明确将其设置为启用(如果下一步不起作用)。

旧版本的 Edge 可能需要下载此功能作为测试版功能。

更多详情:边缘远程调试

连接到远程调试会话

访问

edge://inspect/
并在位置字段中输入
http://localhost:9222
。单击“连接到设备”可能需要一点时间,但过了一会儿就会打开远程调试会话。

切换到此处的控制台选项卡现在将显示脚本或您想要调试的任何内容的控制台输出。

© www.soinside.com 2019 - 2024. All rights reserved.