【问题标题】:Taking full page screenshot with a Chrome extension使用 Chrome 扩展程序截取整页屏幕截图
【发布时间】:2020-03-30 03:23:50
【问题描述】:

是否可以在 Chrome 扩展程序中捕获整个页面的屏幕截图,包括首屏下方的内容?

captureVisibleTab 似乎仅限于可见区域内显示的内容。

【问题讨论】:

标签: google-chrome google-chrome-extension


【解决方案1】:

标准方法似乎是滚动页面并在每个部分捕获屏幕截图,然后将它们全部粘贴在一起。谷歌官方截屏插件可以做到这一点,但我发现它有问题(至少在 Mac OSX 上),所以我自己写了full page screen capture extension

源代码here(page.js和popup.js中的相关代码)。

【讨论】:

  • 非常感谢。它在大多数情况下都有效。但例如news.google.co.in 对于这个 url,在左侧有一棵头条新闻树,它被重复了。在这方面有什么帮助吗?
【解决方案2】:

在 Mac 上,虽然不是 Chrome 扩展,但您可以使用以下 AppleScript 自动执行此处的流程:

https://zapier.com/blog/full-page-screenshots-in-chrome/

tell application "Google Chrome" to activate
  tell application "System Events"
  keystroke "i" using {option down, command down}
  delay 0.3
  keystroke "p" using {shift down, command down}
  delay 0.3
  keystroke "Full"
  delay 0.5
  key code 76
end tell

打开 ScriptEditor 并粘贴该脚本。将其保存为文件,无论您在本地需要什么。当您在 ScriptEditor 中按播放键运行它时,它会自动将活动选项卡的完整屏幕截图保存到您的下载文件夹中。

【讨论】:

    【解决方案3】:

    Chrome 59 在 DevTools 中添加了一个名为 Capture full-size screenshot 的新功能。但是不知道这个API是否可以被扩展调用。

    【讨论】:

    • 应该可以使用chrome.debugger API 调用它。但这是一个大锤子。
    • 添加到@Xan 的评论:Chrome DevTools Protocol Viewer 这相关吗? edit : 它没有帮助。仍然给出了相同的小屏幕截图。
    • @Xan 你说的“那是一把大锤子”是什么意思?
    • @Ashavsky 这是一项允许您对任何页面几乎执行任何操作的权限,安装时会出现可怕的警告,运行时会在顶部显示持久的“扩展程序已附加到此页面”警告,并且如果开发工具打开(或干扰它们),将会失败。除非您确实试图实现 Dev Tools 的替代方案,否则此权限太强
    • @Xan 感谢您的澄清,当然不是我想要做的!
    【解决方案4】:

    除非您使用 Flash 或 NPAPI,否则您只能通过 captureVisibleTab 捕获可见页面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-25
      • 1970-01-01
      • 2022-08-13
      相关资源
      最近更新 更多