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

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供紫陽(yáng)網(wǎng)站建設(shè)、紫陽(yáng)做網(wǎng)站、紫陽(yáng)網(wǎng)站設(shè)計(jì)、紫陽(yáng)網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、紫陽(yáng)企業(yè)網(wǎng)站模板建站服務(wù),十年紫陽(yáng)做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
一、項(xiàng)目簡(jiǎn)介
這是一個(gè)基于 Google 開(kāi)源的 Node.js 庫(kù) Puppeteer 的 .NET 開(kāi)源庫(kù),方便開(kāi)發(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)目核心功能
- 操作瀏覽器:比如新開(kāi)/關(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è)面元素等;
- 模擬鍵盤(pán)輸入:輸入文字、按下按鍵、摁住按鍵等;
- 頁(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();
//打開(kāi)瀏覽器
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(jsSelectAllAnchors);
foreach (string url in urls)
{
Console.WriteLine($"Url: {url}");
}
Console.ReadLine();
} 網(wǎng)頁(yè)名稱:一個(gè)瀏覽器自動(dòng)化操作的.Net開(kāi)源庫(kù)
轉(zhuǎn)載來(lái)于:http://www.5511xx.com/article/dphghed.html


咨詢
建站咨詢
