如何從網址獲取網站的遠程屏幕截圖?

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瀏覽器進行更精細的控制。


Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因