【问题标题】:Is it possible to take screenshot of visible part of page in InternetExplorerDriver?是否可以在 InternetExplorerDriver 中截取页面可见部分的屏幕截图?
【发布时间】:2017-07-17 01:20:36
【问题描述】:

我需要只截取 IEDriver 中页面的可见部分,以便与其他驱动程序保持一致。对于其他驱动程序,我使用“滚动和缝合”方法来获取全高页面图像,但在某些情况下可能存在差异 - 例如,如果页面具有粘性标题。我宁愿采取一种或另一种方式,但对所有驱动程序都一样,并且并非所有驱动程序都提供截取整页屏幕截图的能力。

TakesScreenshot 界面的文档说明了这一点:

对于扩展 TakesScreenshot 的 WebDriver,这将尽最大努力根据浏览器按优先顺序返回以下内容:

  • 整个页面
  • 当前窗口
  • 当前帧的可见部分
  • 包含浏览器的整个显示屏幕截图

我的问题是:

是否可以强制 Internet Explorer 仅截取当前窗口的屏幕截图?我知道通过 API 是不可能的,但也许有一些自定义功能或内部驱动程序设置可以更改?

【问题讨论】:

    标签: selenium webdriver selenium-iedriver


    【解决方案1】:

    我在 Internet Explorer 驱动程序服务器更改日志中找到了此信息:

    v2.52.0.0

    • 发布以与 Selenium 项目的发布同步。
    • 对 JavaScript 自动化原子的更新。
    • (代表 Anton Usmansky)添加了 ie.enableFullPageScreenshot 功能 允许用户仅创建当前视口的屏幕截图。这 能力默认为真,它保留了原始行为 调整浏览器窗口大小并截取整个页面。

    我试过了,它确实有效! Java 的示例代码(适用于 IE11 - 我没有使用其他版本对其进行测试):

    DesiredCapabilities caps = new DesiredCapabilities();
    caps.setCapability("ie.enableFullPageScreenshot", false);
    WebDriver driver = new InternetExplorerDriver(caps);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-25
      • 2021-07-12
      • 2014-04-13
      • 2018-03-20
      • 2023-03-31
      • 2016-10-05
      • 2018-04-21
      • 1970-01-01
      相关资源
      最近更新 更多