Как я могу удалить удаленный скриншот веб-сайта из URL-адреса?

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

Вопрос

Поэтому у меня есть приложение, которое делает:

  1. Возьмите n количество ссылок из SQL

  2. Создает новый поток для каждой ссылки

  3. Получить HTML-код этого сайта с помощью HTML-Agility-Pack для каждой темы

  4. Сохраняет свои данные в SQL (размеры изображения, размер страницы, количество слов и т. Д.) И сохраняет этот процесс с его датой

Это нужно проверить данные на веб-сайте и посмотреть, есть ли какие-либо изменения (например, опечатка или проблема с ранее загруженными изображениями), и я хочу добавить к ним скриншот / миниатюру для каждой страницы. Как я могу сделать снимок экрана для всей страницы во время каждого потока?

Популярные ответы

Кажется, интересное приложение. Поскольку вы уже получаете HTML для всего URL (я бы предположил, что приложение работает на машине / сервере, имеющем подключение к Интернету):

Есть три способа сделать это (на самом деле, на самом деле).

  1. В потоке - создайте объект System.Windows.Forms.Form, добавьте элемент управления webbrowser в свой список Child Controls (Dock = Fill). Сделать браузер перейти к URL. После завершения навигации сделайте снимок экрана диалогового окна WinForms.
  2. В потоковом запуске браузера Chrome / IE, передающего URL-адрес в качестве аргумента командной строки. Подождите некоторое время в потоке (нет отличного способа узнать, когда заканчивается рендеринг). Сделайте снимок экрана.
  3. В потоке - используйте селеновый тип совместимой с .net библиотеки, которая помогает вам выполнять автоматизацию тестирования ui, а затем делать шаг №2. Используя этот подход, вы будете иметь более подробный контроль над веб-браузером.


Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему