NuGetパッケージ-PuppeteerSharpをインストールする
インストールパッケージPuppeteerSharp
コンソールプログラムを作成します。
新しい方法
class Program { static void Main(string [] args) { Console.WriteLine(" Hello World!" ); CreateHtmlImg(); Console.ReadLine(); } static async void CreateHtmlImg() { // プログラムは最初の実行時にダウンロードされますChromeプログラム。ダウンロードが完了した後、次回ダウンロードする必要はありません。 await 新しい新しいBrowserFetcher()DownloadAsync(BrowserFetcher.DefaultRevision);. 使用(ブラウザブラウザ= のawait Puppeteer.LaunchAsync(新しい新しい launchOptions = {ヘッドレスtrueに})) { 使用して(VARページは= のawait browser.NewPageAsync()) { // 設定されたブラウザのページサイズ のawait page.SetViewportAsync(新新ViewPortOptions { 幅 = 1024 、 高さ = 768 }); 文字列の URL = " HTTPS: //www.cnblogs.com/ " ; await page.GoToAsync(url); // javasctiptを実行 // var seven = await page.EvaluateFunctionAsync <int>( "()=> 4 + 3"); // var someObject = await page.EvaluateFunctionAsync <dynamic>( "(value)=>({a:value})"、5); var html = await page.GetContentAsync(); var sourceFile = "" ; var memoryStream = new MemoryStream(Encoding.Default.GetBytes(html)); var sr = new StreamReader(memoryStream); sourceFile = sr.ReadToEnd(); // 针源源码は分析を行う sr.Close(); using(var stream = await page.ScreenshotStreamAsync(new ScreenshotOptions {FullPage = false })) { byte [] srcBuf = new Byte [stream.Length]; stream.Read(srcBuf、0 、srcBuf.Length); stream.Seek(0 、SeekOrigin.Begin); using(FileStream fs = new FileStream(@ " D:\垃圾\ " + DateTime.Now.ToString(" yyyyMMddHHmmsssss ")+ " .png" 、FileMode.Create、FileAccess.Write)) { fs.Write(srcBuf、0 、srcBuf.Length); } } // 页面保存 为图片// await page.ScreenshotAsync(@" D:\垃圾\ "+ DateTime.Now.ToString( "yyyyMMddHHmmsssss")+ "。png"、 // 新しいScreenshotOptions(){FullPage = true、Type = ScreenshotType.Png}; } } } }
Chrome、330Mをダウンロードするには、最初の実行が遅くなります