【问题标题】:Selenium Webdriver - Capture URL in screenshotSelenium Webdriver - 在屏幕截图中捕获 URL
【发布时间】:2015-01-28 13:34:16
【问题描述】:

我了解屏幕截图功能基本上可以用作绘制 DOM。由于 URL 不是 DOM 的一部分,因此屏幕截图不包含 URL。但是是否有任何解决方法可以将 URL 捕获为屏幕截图的一部分?

【问题讨论】:

标签: selenium-webdriver webdriver screenshot


【解决方案1】:

目前无法使用 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

【讨论】:

  • 谢谢。确实是为 Java 设计的
  • 另外一个可能的答案是使用 driver.getCurrentURL 然后用这个名字保存截图文件! ;)
【解决方案2】:

绝对正确,在 Selenium 中还不可能在屏幕截图中获取 URL,这里是参考 Link 说明相同。但作为解决方法的一部分,我建议您首先使用

获取屏幕截图
robot.keyPress(KeyEvent.VK_PRINTSCREEN);

请记住,如果必须拍摄更多数量的屏幕截图,此解决方法可能会变得很耗时,但如果您希望在 AUT 的单次运行中只需要一个屏幕截图,则可能会很有效。其次,一旦您将屏幕截图复制到剪贴板中,它再次取决于您希望如何进一步自动化它,通过使用像 Sikuli 这样的第三方工具,您可以轻松地将其与 selenium 集成。

由于这是一种解决方法,我不能保证成功。

【讨论】:

    猜你喜欢
    • 2014-07-15
    • 2023-03-04
    • 2011-10-13
    • 1970-01-01
    • 2012-10-26
    • 2023-01-23
    • 2022-01-13
    • 2017-02-12
    • 2014-08-25
    相关资源
    最近更新 更多