URL에서 웹 사이트의 원격 스크린 샷을 찍으려면 어떻게해야합니까?

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

문제

그래서 나는 다음과 같은 어플리케이션을 가지고있다.

  1. n 개의 링크를 SQL에서 가져옵니다.

  2. 각 링크에 대해 새 스레드를 만듭니다.

  3. 각 스레드에 대해 HTML-Agility-Pack을 사용하여이 웹 사이트의 HTML 코드를 가져옵니다.

  4. 데이터를 SQL (이미지 크기, 페이지 크기, 단어 수, 단어 등)에 저장하고이 프로세스를 날짜와 함께 저장합니다.

웹 사이트의 데이터를 확인하고 이전에 업로드 한 이미지의 오타 또는 문제와 같은 변경 사항이 있는지 확인하고 각 페이지에 대해 캡쳐 화면 / 미리보기 이미지를 추가하고 싶습니다. 어떻게 각 스레드 동안 전체 페이지의 스크린 샷을 찍을 수 있습니까?

인기 답변

재미있는 앱처럼 보입니다. 이미 전체 URL에 대한 HTML을 얻었으므로 (인터넷 연결이 가능한 컴퓨터 / 서버에서 앱이 실행되고 있다고 가정합니다) :

당신이 이것을 할 수있는 3 가지 방법이 있습니다 (더 많이 실제로).

  1. 스레드에서 - System.Windows.Forms.Form 개체를 만들고 하위 컨트롤 (Dock = Fill) 목록에 웹 브라우저 컨트롤을 추가합니다. 브라우저가 URL로 이동하도록합니다. 탐색이 완료되면 WinForms 대화 상자의 스크린 샷을 만듭니다.
  2. 스레드 - 실행 크롬 / IE 웹 브라우저에서 Url을 명령 줄 인수로 전달합니다. 스레드에서 잠시 기다려주십시오 (렌더링이 끝나면 알 수있는 좋은 방법이 없습니다). 스크린 샷을 찍으십시오.
  3. 스레드에서 - 셀 호환 유형의 .net 호환 라이브러리를 사용하여 웹 UI 테스트 자동화를 수행 한 다음 2 단계를 수행하는 데 도움이됩니다. 이 방법을 사용하면 웹 브라우저를보다 세부적으로 제어 할 수 있습니다.


Related

아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.