.NETはPuppeteerSharpを使用してページ画像を生成します

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();

                    
                    usingvar 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をダウンロードするには、最初の実行が遅くなります

 

おすすめ

転載: www.cnblogs.com/ya-jun/p/12738397.html