如何通过命令行使用FireFox将html导出到文件

Ton*_*ony 20 firefox command-line

所以问题解释得非常好.

是否有一个控制台命令行来保存与Firefox的HTML?

谢谢.

gio*_*ele 12

没有办法让Firefox通过命令行保存页面(截至2015年5月).但是,有一个脚本可以自动启动Firefox,保存页面,退出Firefox.

https://github.com/abiyani/automate-save-page-as

从README文件:

快速破解wget什么时候不削减它.

tl; dr从命令行执行浏览器的"保存页面为"(Ctrl + S)操作,无需人工干预

这个小的bash脚本模拟了一系列按键,它们在浏览器中打开一个给定的URL,保存页面(Ctrl + S),然后关闭浏览器选项卡/窗口(Ctrl + F4).

# Use Firefox to open a web-page and save it in /tmp
# (the default name for the file (Page title) is used)
$ ./save_page_as "www.example.com" --browser "firefox" --destination "/tmp" 
Run Code Online (Sandbox Code Playgroud)


小智 11

使用wget的建议不会处理对内容的访问需要特殊登录或需要从浏览器内部进行某些用户操作的其他身份验证的情况(例如,将验证结果存储在firefox的cert8.db或keys.db或signons中) .sqlite甚至在locatsore.rdf中).如果通过加载的网页内的javascript进行身份验证,使用firefox cookie的wget --load-cookies可能无法正常工作.

所以用户需要一些方法来运行firefox,如下所示:

firefox "<some-url-with-complex-authentication>" -save-to-folder ./somewhere
Run Code Online (Sandbox Code Playgroud)

(并且当firefox完成保存所获取的URL时退出).是的,它很重,但是如果你可以在浏览器中查看页面而不是通过wget或类似的,那么目前似乎没有任何方法可以从命令行使用它.

但是,可能只是用户没有从FF导出最新的cookie文件,因此可以通过wget -load-cookies加载它,因为要创建一个兼容wget的(netscape样式)cookie文件需要:1)安装像导出Cookies这样的插件2)导出cookies.txt文件供wget使用.

  • 2018年8月检查,此解决方案不再有效.cmd将只打开带有预期URL的Firefox浏览器.没有其他事情发生. (3认同)
  • 正如@weefwefwqg3 所述,至少从 Firefox 27 开始,`-save-to-folder` 似乎不起作用(参见 https://bugzilla.mozilla.org/show_bug.cgi?id=984910)。 (2认同)

Ger*_*mia 0

使用pup与automate-save-page-as不同,pup它不保存原始HTML,而是输出解析后的HTML。