gpt4 book ai didi

shell - 在 Linux 中使用 Headless FireFox 使用命令行保存所有 HTML 文件

转载 作者:行者123 更新时间:2023-12-04 04:38:44 26 4
gpt4 key购买 nike

当前使用 shell_exec 与 Xvfb 和 FireFox 来捕获屏幕截图。但是,需要使用 shell_exec 将整个 html(例如,将页面另存为 --> 网页完成。)下载到一个目录中。查看了 Mozilla 开发人员论坛中可用的所有不同选项,但无法弄清楚如何执行此操作。

这段代码似乎是我可能需要的,但是它在哪里以及如何实现,以便可以在 shell_exec 中访问它?

var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("C:\\filename.html");
var wbp = Components.classes['@mozilla.org/embedding/browser/nsWebBrowserPersist;1']
.createInstance(Components.interfaces.nsIWebBrowserPersist);
wbp.saveDocument(content.document, file, null, null, null, null);

The Above Code Source
void saveDocument(
in nsIDOMDocument aDocument,
in nsISupports aFile,
in nsISupports aDataPath,
in string aOutputContentType,
in unsigned long aEncodingFlags,
in unsigned long aWrapColumn
);

The Above Code Source

这里有一个 Stackoverflow 手动解决方案,但它没有解决 shell_exec:
How to save a webpage locally including pictures,etc

最佳答案

我知道的选项很少,但我所知道的没有一个完全适合您的问题..

  • 开通 firefox http://yoursite.com从 shell,然后使用 xte 将击键发送到 firefox或类似的方法。 (虽然这不是 headless (headless)模式。)
  • 使用 wget 下载。它可以以递归方式工作。或者,您可以解析 HTML,如果它是非常简单的网页。如果您需要提交表单,请使用 curl 而不是 wget。
  • 使用greasemonkey插件并编写一个脚本,该脚本将在http://some-fake-page.com/?download=http://yoursite.com上加载然后用那个假页面的网址打开firefox。
  • 开发您自己的 Firefox 插件来完成上述工作。

  • 可能还有其他更好的选择,但我不知道。

    关于shell - 在 Linux 中使用 Headless FireFox 使用命令行保存所有 HTML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14669181/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com