问题标签 [webpage-screenshot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
753 浏览

asp.net - 如何从asp.net中的Web表单中截取URL?

有没有办法在没有任何 exe 文件或 3rd 方的东西的情况下做到这一点?我不能在 Web 应用程序中使用 Windows 窗体组件,我需要以编程方式截取不同 URL 的屏幕截图。任何想法将不胜感激。

0 投票
0 回答
199 浏览

html - html5 将编辑后的内容保存为图片或pdf

(我是新手)我想创建一个 html5 页面/应用程序,其中包含要填写的文本框。

我的目标是,一旦用户填写完空白字段,他们可以点击网页上的一个按钮,将内容(包括所有图片、文本和他们填写的字段)全部保存为图像甚至 pdf,以便以后打印.

另请注意,我正在为移动平台执行此操作,因此我希望用户能够在从他们的设备进行编辑后存储在他们的设备上。因此,诸如 html 到 pdf 转换器站点之类的选项不可用。

反正这可能吗?谢谢。

0 投票
0 回答
3086 浏览

javascript - 在 JavaScript 或 jQuery 的帮助下截屏?

可能重复:
使用 jquery 生成网站的屏幕截图
如何使用 JavaScript 对 div 进行屏幕截图?

我想使用 JavaScript 或 jQuery 截取整个网页的屏幕截图,并在单击按钮时将该图像设置为另一个窗口背景。我怎样才能实现它。

0 投票
4 回答
4103 浏览

python - 如果我的鼻子测试失败,如何截取屏幕截图?

我正在使用nosetests 运行selenium webdriver 测试。每当鼻子测试失败时,我想捕获屏幕截图。我怎样才能以最有效的方式做到这一点,无论是使用 webdriver、python 还是 nosetests 功能?

0 投票
1 回答
186 浏览

macos - 如何保存网页的屏幕截图?

我想保存网页的屏幕截图。但我不知道如何。就像应用程序熟食一样。在熟食中,当我添加书签时,应用程序会捕获网站并将其保存,例如 p5.delish。我截图来自“.delish”的文件。我怎样才能生成这个文件?或者有人有一些像这个应用程序的样本?非常感谢!

0 投票
1 回答
1177 浏览

c# - WebBrowser 控件不呈现某些页面

我正在开发一个托管 WebBrowser 控件并保存网页屏幕截图的应用程序。(C#、VS2008、IE 9、Vista。所有都是最新的。FEATURE_BROWSER_EMULATION 设置为 0x2328)

该应用程序获取 url 列表并逐个导航到 url 并保存屏幕截图。应用程序流程简单如下:从文件中读取 url,首先使用 HttpWebRequest 获取它,如果它存在并且如果它是 html 调用 webBrowser.Navigate(url),等到 WebBrowser.ReadyState 为 WebBrowserReadyState.Complete (处理 WebBrowser.DocumentCompleted 事件并简单在 ReadyState 为 WebBrowserReadyState.Complete 之前什么都不做),再等几秒钟以确保安全(最多测试 10 秒),保存屏幕截图并移至下一个 url。它适用于几乎所有 url(来自许多不同站点的页面),但嵌入在我的应用程序中的 WebBrowser 不会呈现某些 url,尤其是来自 www.securityfocus.com 的页面,例如:http ://www.securityfocus.com/bid/ 52023

我尝试禁用缓存,在每次请求之前清除缓存,等待最多 10 秒,只是为了给它一些时间来渲染等无济于事。我在视觉上确认 WebBrowser 没有呈现页面,这不是与保存屏幕截图相关的问题(我正在使用 BitBlt,但我认为它不相关)。页面使用 IE 正常呈现。

如果您对为什么会发生这种情况有任何建议,请告诉我。提前致谢

0 投票
0 回答
1489 浏览

python - PIL ImageGrab 屏幕截图未显示所有可见的应用程序

我有一个应用程序。这个应用程序主要是 QT,在某些状态下,它嵌入了 html 元素。当此应用程序在我的本地计算机(Windows 7)上运行并执行上述代码时,屏幕截图完美。一切都是可见的。

但是,当我在其他计算机上运行我的应用程序并执行上述代码时,它会截取屏幕截图,但这些屏幕截图并未显示我的应用程序。更奇怪的是,当应用程序处于某些状态时,截图是成功的。但在其他州,它不是(一切都是可见的,但我的应用程序除外)。有时它与 Web 元素有关,但另一方面,有时其他 Web 元素也能正常显示。不幸的是,当它成功和不成功时,我无法掌握该模式。我所知道的是 ImageGrab.grab() 不会在某些计算机(相同的操作系统)上的给定时间显示所有可见的应用程序。但是,如果我执行本机 PrtScn 命令,无论处于何种状态,我的应用程序都会正常显示。

有什么建议么?

0 投票
3 回答
1892 浏览

javascript - 使用 Javascript 截取单页应用程序的屏幕截图

背景

我通过使用 JS 模拟用户输入,在我工作的应用程序上运行 UI 测试。JS 在运行测试应用程序的 iframe 上按顺序运行一堆鼠标和键盘触发器,我可以观察中断。我想对其进行设置,以便它可以定期截取当前状态的屏幕截图。

已经考虑

我知道这是一个重复的问题,我现在再次问这个问题,以防最近这个领域有任何发展。

我查看了http://html2canvas.hertzen.com/以截取屏幕截图,虽然它在大多数情况下都有效,但在使用大量 CSS3 和 webfonts 时似乎有问题。

我也不能随意使用服务器端方法,因为我正在开发一个单页主干应用程序,并且它不存储基于 URL 的状态(大部分情况下)。

我什至查看了 mozilla 的特定background:-moz-element()属性,但是当您想要的页面位于 iframe 中时,这不起作用。

我认为最接近我需要的是 phantomJS,它允许您操作页面并截取屏幕截图。我想避免这种情况,因为我会使用在运行测试时查看测试的能力。

那么,有人知道我可以在这里使用什么吗?只要它在 Windows 上运行,它甚至可以是一种浏览器(Firefox 或 Chrome)独有的。它不需要在所有客户端上运行,只在我的客户端上运行,所以即使我必须设置一个特殊的环境也可以,只要可以通过 JS 保存屏幕截图(虽然只在 Firefox 或 Chrome 上,所以没有 ActiveX)。

TL;DR 需要 Javascript 或 HTML5 API 来保存在 iframe 中运行的应用程序的屏幕截图。请不要付费解决方案。

0 投票
1 回答
8540 浏览

javascript - 在 Node 上使用 Selenium 的 WebDriverJs 截屏的正确语法

使用Selenium 的 webdriverjs运行 webdriver 测试时截屏的正确方法是什么?

我已经启动了独立的 selenium 服务器,我可以看到在 selenium-server 上记录了截图命令,但截图没有被保存。

我的代码如下:

0 投票
3 回答
2411 浏览

php - Save HTML Canvas as an image without client browser

I generate an image on a few overlapping canvases when a page is loaded (without user-interaction), but that does take ~3 seconds to fully draw. I want to flatten these canvases, and convert this image to a PNG on the server, for use in thumbnail previews.

Flattening to a single canvas (using ctx.drawImage(other_canvas,0,0)) and then ctx.toDataUrl() looks like exactly what I need. Is there a way do this on the server side without requiring a user's browser? Some kind of command-line javascript / canvas parser perhaps, which can load the page, wait for the canvas to finish rendering, then inject some javascript to flatten, call toDataUrl, resize and save the resulting image.

AJAX solutions which render and send the thumbnail back to the server won't work as I need the thumbnail before the first person has viewed the page. It also needs to be fast (hopefully only slightly longer than the time the canvas takes to render, 3 seconds). I can't wait for an external service like browsershots.

I looked at CutyCapt, but that renders the entire webpage, not just the canvas (and also doesn't seem to draw everything on my canvas for some reason).

Thanks.