如何从网址获取网站的远程屏幕截图?

c# html html-agility-pack multithreading webpage-screenshot

所以我有一个应用程序:

  1. 从SQL中获取n个链接

  2. 为每个链接创建一个新线程

  3. 使用每个线程的HTML-Agility-Pack获取本网站的HTML代码

  4. 将其数据保存为SQL(图像大小,页面大小,字数,单词等),并将此过程与其日期保存在一起

这是检查网站上的数据,看看是否有任何变化(如错误或以前上传的图像的问题),我想为每个页面添加截图/缩略图。如何在每个线程中截取整个页面的屏幕截图?

热门答案

看起来像一个有趣的应用程序。因为您已经获得了整个URL的HTML(我认为该应用程序正在具有Internet连接的计算机/服务器上运行):

有三种方法可以做到这一点(实际上更多)。

  1. 在线程中 - 创建一个System.Windows.Forms.Form对象,将一个webbrowser控件添加到其子控件列表(Dock = Fill)。使浏览器导航到网址。导航完成后 - 获取WinForms对话框的屏幕截图。
  2. 在线程 - 启动chrome / IE Web浏览器中传递Url作为命令行参数。在线程中等待一段时间(没有一种很好的方法可以知道渲染完成时)。截取屏幕截图。
  3. 在线程中 - 使用selenium类型的.net兼容库 - 它可以帮助您进行web ui测试自动化,然后执行步骤#2。使用此方法,您将对Web浏览器进行更精细的控制。



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因