【发布时间】:2015-01-28 13:34:16
【问题描述】:
我了解屏幕截图功能基本上可以用作绘制 DOM。由于 URL 不是 DOM 的一部分,因此屏幕截图不包含 URL。但是是否有任何解决方法可以将 URL 捕获为屏幕截图的一部分?
【问题讨论】:
标签: selenium-webdriver webdriver screenshot
我了解屏幕截图功能基本上可以用作绘制 DOM。由于 URL 不是 DOM 的一部分,因此屏幕截图不包含 URL。但是是否有任何解决方法可以将 URL 捕获为屏幕截图的一部分?
【问题讨论】:
标签: selenium-webdriver webdriver screenshot
目前无法使用 webdriver。
您可以采用以下任何一种方法。 (您没有提到编程语言。这些示例是用 Java 编写的。)
1.捕获当前桌面屏幕
Robot 有 createScreenCapture 方法。所以,我会选择它,它很容易实现。
Robot robot = new Robot();
BufferedImage screenShot = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
ImageIO.write(screenShot, "JPG", new File("ScreenShot.jpg"));
2.你可以在图片中写上网址。
有时这可能是一种烦人的方法,因为它可能会隐藏图像中的信息。但这也很容易实现。
查看 answer
3.将当前 URL 作为元数据添加到图像
检查这个 answer
【讨论】:
绝对正确,在 Selenium 中还不可能在屏幕截图中获取 URL,这里是参考 Link 说明相同。但作为解决方法的一部分,我建议您首先使用
获取屏幕截图robot.keyPress(KeyEvent.VK_PRINTSCREEN);
请记住,如果必须拍摄更多数量的屏幕截图,此解决方法可能会变得很耗时,但如果您希望在 AUT 的单次运行中只需要一个屏幕截图,则可能会很有效。其次,一旦您将屏幕截图复制到剪贴板中,它再次取决于您希望如何进一步自动化它,通过使用像 Sikuli 这样的第三方工具,您可以轻松地将其与 selenium 集成。
由于这是一种解决方法,我不能保证成功。
【讨论】: