Nym*_*ria 18 firefox screenshot
我需要截取整个网页的屏幕截图。
我已经看到如何从命令行获取网页的整页屏幕截图?其中提出了多种截取屏幕截图的方法,但我需要使用 Firefox 以获得更好的效果。
Vol*_*gel 13
为了在 Firefox 中制作显示页面整个可滚动区域的网页截图,我提出了两种不同的方法。
两者都保存显示所有部分的页面图像或通过向下(和向右/向左)滚动可以到达的网页 - 认为所有视图位置缝合在一起;
对于长页面,图像很容易达到几千像素高。
“专业”方式 - 使用 Web 浏览器 GUI 级测试和自动化工具:
自动化工具Selenium——通常用于UI测试——可以做整页屏幕截图;不过,仅为该任务设置
它似乎有些开销。
例如:
Command: open; Target: http://www.google.com
Command: captureEntirePageScreenshotAndWait; Target: \\Screenshots\\test.png
Run Code Online (Sandbox Code Playgroud)
参见so.SE:使用 Selenium IDE Firefox 插件的截图
要安装 Selenium 的 firefox 部分,请获取firefox附加组件 - 但不是从官方附加组件页面获取 - 它位于 Selenium的下载页面上作为 xpi 文件。这是当前版本。
(有很多用于扩展 selenium 本身的附加组件(但在 Firefox 附加组件的技术方面),在附加组件网站上都称为“Selenium ...”甚至“Selenium IDE ...” -非常混淆。)
“hackish”方式 - 通过键盘自动化使用内部 Firefox 命令:
firefox 中有一个内部命令提示符,这是一种开发工具,正如@Fireflight 指出的那样,它有一个制作屏幕截图的命令。但是,据我所知,通常无法从命令行中控制。但是我们能做的是模拟按键来使用它。
我们需要选择一个浏览器窗口,打开提示,输入firefox内部命令(使用基于当前日期和时间的文件名),运行命令,再次关闭提示:
FF=$(xdotool selectwindow)
xdotool key --window $FF Shift+F2 sleep 1
xdotool type --window $FF --delay 50 "screenshot page-$(date +%Y%m%d-%H%M%S).png --fullpage "
xdotool key --window $FF Return sleep 0.5 key --window $FF Shift+F2
Run Code Online (Sandbox Code Playgroud)
命令行实用程序xdotool可以在 X11 事件级别与 X 窗口交互。我们用它来选择显示页面的firefox窗口,并发送正确的击键来制作屏幕截图。
(这是一种有点脆弱的方法:它取决于键盘时间,如果提示已经打开或包含文本(要打开或关闭它,请按 Shift-F2),它将不起作用 - 但如果它起作用,它真的很好。 )
作为这种屏幕截图的示例,以下man xdotool是 manpages.ubuntu.com上的示例,缩小到 20%(原始 1336x15653),使用xdotool解决方案完成:

Fir*_*ght 10
在 Firefox 中,您可以点击Shift-F2,然后在出现的命令行中,只需键入:
screenshot filename.png --fullpage
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16743 次 |
| 最近记录: |