偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

一個(gè)瀏覽器自動(dòng)化操作的.Net開源庫(kù)

開源
這是一個(gè)基于 Google 開源的 Node.js 庫(kù) Puppeteer 的 .NET 開源庫(kù),方便開發(fā)人員使用無(wú)頭 Web 瀏覽器抓取 Web、檢索 JavaScript 呈現(xiàn)的 HTML,以及與 UI 元素交互等功能。

推薦一個(gè).Net開源庫(kù),方便通過(guò)高級(jí)API來(lái)控制Chromium 瀏覽器。

一、項(xiàng)目簡(jiǎn)介

這是一個(gè)基于 Google 開源的 Node.js 庫(kù) Puppeteer 的 .NET 開源庫(kù),方便開發(fā)人員使用無(wú)頭 Web 瀏覽器抓取 Web、檢索 JavaScript 呈現(xiàn)的 HTML,以及與 UI 元素交互等功能。

比如可以用來(lái)抓取網(wǎng)頁(yè)、生成頁(yè)面 PDF 或者圖片、網(wǎng)頁(yè)截屏,以及進(jìn)行自動(dòng)化測(cè)試等。

二、項(xiàng)目核心功能

  • 操作瀏覽器:比如新開/關(guān)閉瀏覽器窗口核標(biāo)簽、返回頁(yè)面、打印頁(yè)面、重新加載頁(yè)面等;
  • 執(zhí)行JavaScript腳本:執(zhí)行Js代碼/函數(shù)等;
  • 操作Html頁(yè)面:比如獲取元素的屬性、文本內(nèi)容,插入、更改元素等;
  • 模擬鼠標(biāo)操作:模擬點(diǎn)擊頁(yè)面元素、雙擊頁(yè)面元素、拖動(dòng)頁(yè)面元素等;
  • 模擬鍵盤輸入:輸入文字、按下按鍵、摁住按鍵等;
  • 頁(yè)面事件:等待頁(yè)面加載完畢、字體加載等事件。

三、使用示例

1、網(wǎng)頁(yè)截屏

using PuppeteerSharp;


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.xxx.com");
var outputFile = "screenshot.jpg";
await page.ScreenshotAsync(outputFile);

2、生成頁(yè)面PDF

using PuppeteerSharp;


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.xxx.com");
//等待字體加載完畢
await page.EvaluateExpressionHandleAsync("document.fonts.ready");
var outputFile = "page.pdf";
await page.PdfAsync(outputFile);

3、加載頁(yè)面并獲取頁(yè)面的所有超鏈接

using PuppeteerSharp;
using System;


//瀏覽器配置
var options = new LaunchOptions { Headless = true };
await new BrowserFetcher().DownloadAsync();


//打開瀏覽器
using (var browser = await Puppeteer.LaunchAsync(options))
using (var page = await browser.NewPageAsync())
{
    //加載頁(yè)面
    await page.GoToAsync("http://www.xxx.com");


    //獲取所有超鏈接
    var jsSelectAllAnchors = @"Array.from(document.querySelectorAll('a')).map(a => a.href);";
    var urls = await page.EvaluateExpressionAsync<string[]>(jsSelectAllAnchors);
    foreach (string url in urls)
    {
        Console.WriteLine($"Url: {url}");
    }
    Console.ReadLine();
}
責(zé)任編輯:姜華 來(lái)源: 今日頭條
相關(guān)推薦

2024-08-27 09:36:34

2018-12-03 08:46:36

Web瀏覽器SeleniumPython

2024-08-21 15:27:28

2020-07-06 08:23:11

開源瀏覽器操作系統(tǒng)

2017-12-14 15:45:02

2022-06-04 07:13:20

黑客瀏覽器網(wǎng)絡(luò)攻擊

2012-09-03 10:24:16

果粉瀏覽器

2009-05-27 08:54:15

瀏覽器平臺(tái)Chrome

2023-08-03 09:10:37

2024-05-28 07:06:44

2019-12-02 13:46:35

瀏覽器前端開發(fā)

2025-03-14 08:21:09

Puppeteer.NET開發(fā)者

2021-06-02 06:14:50

Nyxt瀏覽器

2011-04-14 15:55:35

WPF.NET

2022-06-20 09:01:56

Plasmo開源

2014-08-18 14:58:25

微軟IE

2022-06-13 06:33:04

瀏覽器瀏覽器插件

2017-06-23 13:51:38

ShutItPythonshell

2024-02-04 17:12:49

2013-04-22 09:52:04

.netchrome核心開發(fā)chrome
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)