gpt4 book ai didi

java - 使用 htmlunitdriver 捕获屏幕截图?

转载 作者:行者123 更新时间:2023-12-01 11:55:28 24 4
gpt4 key购买 nike

如何使用 HtmlUnitDriver 捕获屏幕截图?我发现当我使用 FirefoxDriver 时可以捕获,但我不想使用 Firefox。因此,请让我知道如何使用 HtmlUnitDriver 捕获图像。

我用谷歌搜索,但找到的解决方案都不适合我。请帮忙!

最佳答案

Flyingsaucer 是一个 Java 库,可让您 headless 地截取网页屏幕截图(无需在浏览器中打开页面)。以下代码将捕获整个页面的屏幕截图,调整大小为名为“screenshot.png”的图像。数字 1024 指定输出屏幕截图的宽度。在此处查找库 http://mvnrepository.com/artifact/org.xhtmlrenderer

import java.io.File;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import org.xhtmlrenderer.simple.Graphics2DRenderer;

public class RenderPage {

public static void main(String[] args) throws Exception {
try {
String address = "http://www.w3.org";
BufferedImage buff = Graphics2DRenderer.renderToImageAutoSize(address, 1024);
ImageIO.write(buff, "png", new File("screenshot.png"));
} catch (Exception e) {
e.printStackTrace();
}
}

}

您还可以使用方法Graphics2DRenderer.renderToImage(address,1024,1024);定义您自己的屏幕截图尺寸。

您会发现屏幕截图看起来就像在手机上呈现的一样。我不知道为什么会这样,但我猜你可以在某个地方更改 Flyingsaucer 的浏览器版本,以在不同的浏览器上模拟页面。

还有一点是,此代码不会对 www.google.com 进行屏幕截图,但显然这种类型的错误可以通过使用名为 JTidy 的库整理页面源代码来解决。

关于java - 使用 htmlunitdriver 捕获屏幕截图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28482690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com