<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Puppeteer SharpNode.JS Puppeteer API?的 .NET 端口

          聯(lián)合創(chuàng)作 · 2023-09-19 05:12

          Puppeteer Sharp 是官方 Node.JS Puppeteer API 的 .NET 端口。

          相關(guān)鏈接

          用法

          截屏

          using var browserFetcher = new BrowserFetcher();
          await browserFetcher.DownloadAsync();
          await using var browser = await Puppeteer.LaunchAsync(
              new LaunchOptions { Headless = true });
          await using var page = await browser.NewPageAsync();
          await page.GoToAsync("http://www.google.com");
          await page.ScreenshotAsync(outputFile);

          可以在生成屏幕截圖之前更改視口

          await Page.SetViewportAsync(new ViewPortOptions
          {
              Width = 500,
              Height = 500
          });

          生成 PDF 文件

          using var browserFetcher = new BrowserFetcher();
          await browserFetcher.DownloadAsync();
          await using var browser = await Puppeteer.LaunchAsync(new LaunchOptions {Headless = true});
          await using var page = await browser.NewPageAsync();
          await page.GoToAsync("http://www.google.com");
          await page.PdfAsync(outputFile);

          注入 HTML

          await using var page = await browser.NewPageAsync();
          await page.SetContentAsync("<div>My Receipt</div>");
          var result = await page.GetContentAsync();

          評(píng)估 JavaScript

          await using var page = await browser.NewPageAsync();
          var seven = await page.EvaluateExpressionAsync<int>("4 + 3");
          var someObject = await page.EvaluateFunctionAsync<dynamic>("(value) => ({a: value})", 5);
          Console.WriteLine(someObject.a);

          等待選擇器

          using (var page = await browser.NewPageAsync())
          {
              await page.GoToAsync("http://www.spapage.com");
              await page.WaitForSelectorAsync("div.main-content")
              await page.PdfAsync(outputFile));
          }

          等待函數(shù)

          using (var page = await browser.NewPageAsync())
          {
              await page.GoToAsync("http://www.spapage.com");
              var watchDog = page.WaitForFunctionAsync("()=> window.innerWidth < 100");
              await page.SetViewportAsync(new ViewPortOptions { Width = 50, Height = 50 });
              await watchDog;
          }

          連接到遠(yuǎn)程瀏覽器

          var options = new ConnectOptions()
          {
              BrowserWSEndpoint = $"wss://www.externalbrowser.io?token={apikey}"
          };
          
          var url = "https://www.google.com/";
          
          using (var browser = await PuppeteerSharp.Puppeteer.ConnectAsync(options))
          {
              using (var page = await browser.NewPageAsync())
              {
                  await page.GoToAsync(url);
                  await page.PdfAsync("wot.pdf");
              }
          }
          瀏覽 12
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  中文字幕有码在线观看 | 无码三级av | 黄色大片网址 | 97中文字幕第二十二页 | 老鸭窝毛片美国黑人毛片 |