簡體   English   中英

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

[英]How can I take a remote screenshot of a website from a url?

所以我有一個應用程序可以執行以下操作:

  1. 從SQL獲取n個鏈接

  2. 為每個鏈接創建一個新線程

  3. 通過每個線程的HTML-Agility-Pack獲取該網站的HTML代碼

  4. 將其數據保存到SQL(圖像大小,頁面大小,字數,單詞等),並將此過程及其日期保存

這是為了檢查網站上的數據,查看是否有任何更改(例如拼寫錯誤或以前上傳的圖像有問題),我想為每個頁面添加一個屏幕截圖/縮略圖。 如何在每個線程中截取整個頁面的屏幕截圖?

為了制作屏幕截圖,您需要呈現HTML。 這是Web瀏覽器的任務。 在尋找C#解決方案時,可以使用CefSharp( https://github.com/cefsharp/CefSharp )在屏幕外模式下呈現html。

似乎是一個有趣的應用程序。 您已經獲得了整個URL的HTML(我假設該應用程序正在具有Internet連接的計算機/服務器上運行):

您可以通過3種方式進行此操作(實際上有許多方法)。

  1. 在“線程”中-創建一個System.Windows.Forms.Form對象,將webbrowser控件添加到其“子控件”列表中(Dock = Fill)。 使瀏覽器導航到URL。 導航完成后,獲取WinForms對話框的屏幕快照。
  2. 在線程中-啟動chrome / IE網絡瀏覽器,並將Url作為命令行參數傳遞。 等待線程中的某個時間(沒有一種好方法可以知道渲染何時完成)。 截屏。
  3. 在線程中-使用硒類型的.net兼容庫-幫助您進行Web ui測試自動化,然后執行步驟2。 使用這種方法,您將對Web瀏覽器有更精細的控制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM