【问题标题】:Take screenshot of div in InternetExplorer在 Internet Explorer 中截取 div
【发布时间】:2013-12-04 16:27:23
【问题描述】:

我在我的 winforms 应用程序中使用 mshtml.InternetExplorer 对象来浏览 Web 应用程序。不知何故,我不能在我的解决方案中使用 webbrowser。现在我需要在这个 Web 应用程序中捕获一个 div 元素的屏幕截图。我看到许多使用 webbrowser 的 drawtobitmap 方法执行类似功能的解决方案,但没有一个使用 mshtml.InternetExplorer。 有没有办法实现这个功能?有什么方法可以将 InternetExplorer 对象类型转换为 webbrowser?

【问题讨论】:

  • 不清楚,您是自动化进程外InternetExplorer 对象还是托管WebBrowser ActiveX 控件的进程内实例?
  • 我正在自动化一个进程外 InternetExplorer 对象。我只是做 process.start(iexplore.exe) & 然后自动化那个 ie 实例

标签: c# winforms browser webbrowser-control mshtml


【解决方案1】:

您应该能够使用PrintWindow Windows API 捕获主 IE 窗口的所需部分,如 here 所述。您可以通过在 IE 对象上调用 IWebBrowser2::HWND 来获取窗口的句柄。其他一些方法也可以帮助实现这一点:

【讨论】:

  • 我知道在提出问题后这有点晚了,但我实施了与您建议的完全相同的解决方案,但它在某些用户的机器上随机失败。它因差异分辨率/浏览器缩放而失败。没有像 webbrowser 的 drawtobitmap 这样的方法可以动态获取给定 id 的图像吗?
  • @user435293,考虑发布一个包含更多详细信息的新问题,其他人可能会提供更好的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-12
  • 1970-01-01
  • 1970-01-01
  • 2011-06-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多