AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 490645
Accepted
Nymeria
Nymeria
Asked: 2014-07-02 21:46:46 +0800 CST2014-07-02 21:46:46 +0800 CST 2014-07-02 21:46:46 +0800 CST

如何使用 firefox 从命令行截取整页屏幕截图?[复制]

  • 772
这个问题在这里已经有了答案:
如何截取完整的网页? (6 个答案)
6 年前关闭。

我需要截取整个网页的屏幕截图。

我已经看到如何从命令行截取网页的整页屏幕截图?其中提出了许多截屏方法,但我需要使用 firefox 以获得更好的效果。

firefox
  • 3 3 个回答
  • 17042 Views

3 个回答

  • Voted
  1. Best Answer
    Volker Siegel
    2014-07-02T22:54:47+08:002014-07-02T22:54:47+08:00

    要在 Firefox 中制作显示页面整个可滚动区域的网页截图,我提出了两种不同的方法。

    两者都保存显示所有部分的页面图像或您可以通过向下滚动(和向右/向左)到达的网页 - 将所有视图位置缝合在一起;
    对于长页面,图像很容易达到几千像素高。


    “专业”方式——使用网络浏览器 GUI 级测试和自动化工具:

    自动化工具Selenium - 通常用于 UI 测试 - 可以做整页屏幕截图;不过,为该任务设置
    它似乎有些开销。

    例如:

    Command: open; Target: http://www.google.com
    Command: captureEntirePageScreenshotAndWait; Target: \\Screenshots\\test.png
    

    见so.SE:使用Selenium IDE Firefox插件的截图

    要安装 Selenium 的 firefox 部分,请获取firefox 附加组件 - 但不是来自官方附加组件页面 - 它作为 xpi 文件位于 Selenium 的下载页面上。这是当前版本。

    (有很多用于扩展 selenium 本身的附加组件(但在 firefox 附加组件的技术中),在附加组件网站上都称为“Selenium ...”甚至“Selenium IDE ...” -非常混乱。)


    “hackish”方式 - 通过键盘自动化使用内部 firefox 命令:

    firefox 中有一个内部命令提示符,一种开发工具,正如@Fireflight 指出的那样,它有一个制作屏幕截图的命令。但是,据我所知,这不能正常地从命令 shell 行控制。但是我们可以做的是模拟按键以利用它。

    我们需要选择一个浏览器窗口,打开提示,输入 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
    

    命令行实用程序xdotool可以在 X11 事件级别与 X 窗口交互。我们用它来选择显示页面的 firefox 窗口,并发送正确的击键来制作屏幕截图。

    (这是一种有点脆弱的方法:它取决于键盘时序,如果提示已经打开或包含文本(要打开或关闭它,请按 Shift-F2),它将不起作用 - 但如果它起作用,那就太好了。 )


    作为这种屏幕截图的示例,这里是man xdotoolmanpages.ubuntu.com 上的一个示例,缩小到 20%(原始 1336x15653),完成了xdotool解决方案:

    man xdotool 的整页屏幕截图,比例为 20%,已编辑为半高

    • 13
  2. Fireflight
    2014-07-03T10:20:58+08:002014-07-03T10:20:58+08:00

    在 Firefox 中,您可以点击Shift-F2,然后在出现的命令行中键入:

    screenshot filename.png --fullpage
    

    还有几个可用的命令和选项。

    • 10
  3. sмurf
    2014-07-02T23:05:53+08:002014-07-02T23:05:53+08:00

    您可以从您的 Firefox 中获取视频。使用如下命令:

    mkdir ~/my_video
    cd ~/my_video
    avconv  -an  -f x11grab -r 30 -s 1024x768 -i :0.0+10,20  -vcodec libx264  -preset ultrafast -threads 0 video.mkv
    

    您可能需要修改大小 (1024x768) 和位置 ( :0.0+10,20 ) 以满足您的需要。

    获得视频后,您可以使用 mplayer 将其转换为一堆 .png 文件:

    mplayer video.mkv -vo png
    

    然后选择最适合您需要的图像。

    • 1

相关问题

  • Flash 在 Firefox 中无法正常工作。不会响应某些点击[关闭]

  • Firefox 鼠标中键滚动

  • 如何解决 Firefox 中的字体问题?

  • 使用突触或通过 Firefox 的插件菜单安装 adblock?

  • Firefox 的 Ubuntu Firefox 修改扩展有什么作用?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve