다음과 같이 link이 있으며 Chrome을 통해 링크를 연 다음 페이지를 마우스 오른쪽 버튼으로 클릭 한 다음 "다른 이름으로 저장"을 선택하여 페이지를 HTML 파일 (c : \ temp \ cu2.html)에 저장합니다.PowerShell 또는 C#을 사용하여 웹 페이지를 HTML 파일로 저장하는 방법은 무엇입니까?
아래와 같이이 저장 한 후, 나는 HTML 편집기 (VS2015 말)이 cu2.html 파일을 열 수 있습니다, 그리고 파일 안에 을 볼 수 있습니다, 태그가
그러나 링크를 열면 w IE11 (Chrome 대신)을 누른 다음 HTML 파일과 동일한 페이지를 저장하면이 태그를 전혀 찾을 수 없습니다. 사실 IE11에서 저장된 html 파일은 아래의 PowerShell 스크립트로 추출 할 수있는 내용과 같습니다.
#Requires -version 4.0
$url = 'https://support.microsoft.com/en-us/help/4052574/cumulative-update-2-for-sql-server-2017';
$wr = Invoke-WebRequest $url;
$wr.RawContent.contains('<table') # returns false
$wr.RawContent | out-file -FilePath c:\temp\cu2_ps.html -Force; #same as the file saved from the webpage to html file in IE
그래서 내 질문은 :
이 웹 페이지가 크롬 (html 파일로) 저장됩니다 왜가 IE에서 다르다?
어떻게 PowerShell (또는 C#)을 사용하여 웹 페이지를 HTML 파일에 저장할 수 있습니까 (Chrome에 저장된 파일과 동일)?
미리 도움을 주셔서 감사합니다.
정말 작동합니다! 고마워 레자. 다른 한편으로는 (나는 너무 많이 요구하고 있습니다.) IE가 설치되어 있지 않은 환경에서 사용할 수있는 솔루션이 무엇인지 생각해보십시오. (내 환경에서는 IE는 서버에 설치할 수 없습니다). 그럼에도 불구하고 나는 해결책으로 당신의 해결책을 투표하고 당신에게 현상금 점수를 20 시간 안에 줄 것입니다. (시스템이 지금 당신에게 점수를 줄 수 없기 때문에). 큰 도움을 주셔서 다시 한 번 감사드립니다. – jyao
브라우저가 없으면 "할 수 없습니다."입니다. 자바 스크립트를 실행하고 DOM을 조작하려면 스크립트 엔진과 DOM 엔진 등이 필요하기 때문입니다. –
그러나 Chrome과 같이 자동화를 위해 다른 브라우저를 사용하려는 경우 [CefSharp] (https://cefsharp.github.io)를 사용하여 신뢰할 수 있습니다. Windows Forms에서 사용했습니다. 즉, PowerShell에서도 사용할 수 있습니다. 최악의 경우, CefSharp를 사용하여 C# 프로그램을 작성할 수 있습니다. 그러나 IE가 허용되지 않는 환경에서는 CefSharp를 사용하는 것이 위험을 무릅 쓰고 있다고 생각합니다. 사실 CefSharp에 관한 이야기는 아닙니다. 사실 다른 모든 제 3 자 브라우저들입니다. –