是否可以从node.js中的open()获取响应? URL 在新选项卡中打开并返回一些响应。我需要该响应值来执行我想要的进一步步骤。是否有可能得到回应,如果可以的话,任何人都可以告诉我如何从中得到回应。我还想关闭打开的选项卡,只能使用 require('child_process').spawn 或使用 open 我们可以关闭选项卡。
open(url, function (err) {
if (err)
throw err;
res.end()
});
提前致谢。
最佳答案
答案:不会。
原因:open 只是 child_process.exec 命令的一个很好的包装。它处理不同的操作系统和浏览器。它将回调传递给 child_process.exec 回调。浏览器不会将响应返回到标准输出,除非那里有一些我不知道的魔法。
引用文献:https://github.com/pwnall/node-open/blob/master/lib/open.js和 https://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback
解决方案:在 Node 中自行设置 http 连接,或者使用 selenium 服务器设置 nightwatch 或 nemo,这样您就可以访问 dom,而不仅仅是终端打开命令。或者你也可以像 @jm_____ 建议的那样,用僵尸、卡斯帕或幻影去 headless 。
关于node.js - 如何从nodejs中打开的包获取响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35602186/