Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/overmiind/puppeteer-sharp-extra
Plugin framework for PuppeteerSharp
https://github.com/overmiind/puppeteer-sharp-extra
browser browser-automation browser-extension browser-testing chrome chrome-headless headless-chrome netcore netcore31 puppeteer puppeteer-extra recaptcha stealth-client
Last synced: about 6 hours ago
JSON representation
Plugin framework for PuppeteerSharp
- Host: GitHub
- URL: https://github.com/overmiind/puppeteer-sharp-extra
- Owner: Overmiind
- License: mit
- Created: 2020-09-27T09:48:56.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-08-13T23:26:49.000Z (6 months ago)
- Last Synced: 2025-02-03T21:27:18.458Z (about 19 hours ago)
- Topics: browser, browser-automation, browser-extension, browser-testing, chrome, chrome-headless, headless-chrome, netcore, netcore31, puppeteer, puppeteer-extra, recaptcha, stealth-client
- Language: C#
- Homepage:
- Size: 2.48 MB
- Stars: 191
- Watchers: 21
- Forks: 57
- Open Issues: 35
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PuppeteerExtraSharp
[![NuGet Badge](https://buildstats.info/nuget/PuppeteerExtraSharp)](https://www.nuget.org/packages/PuppeteerExtraSharp)
Puppeteer extra sharp is a .NET port of the [Node.js library](https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra)
## Quickstart```c#
// Initialization plugin builder
var extra = new PuppeteerExtra();// Use stealth plugin
extra.Use(new StealthPlugin());// Launch the puppeteer browser with plugins
var browser = await extra.LaunchAsync(new LaunchOptions()
{
Headless = false
});// Create a new page
var page = await browser.NewPageAsync();await page.GoToAsync("http://google.com");
// Wait 2 second
await page.WaitForTimeoutAsync(2000);// Take the screenshot
await page.ScreenshotAsync("extra.png");
```
## Plugin list🏴 [Puppeteer stealth plugin](https://github.com/Overmiind/Puppeteer-sharp-extra/tree/master/PuppeteerExtraSharp/Plugins/ExtraStealth)
- Applies various evasion techniques to make detection of headless puppeteer harder.📃 [Puppeteer anonymize UA plugin](https://github.com/Overmiind/Puppeteer-sharp-extra/tree/master/PuppeteerExtraSharp/Plugins/AnonymizeUa)
- Anonymizes the user-agent on all pages.💀[Puppeteer recaptcha plugin](https://github.com/Overmiind/Puppeteer-sharp-extra/tree/master/PuppeteerExtraSharp/Plugins/Recaptcha)
- Solves recaptcha automatically🔧[Puppeteer block resources plugin](https://github.com/Overmiind/Puppeteer-sharp-extra/tree/master/PuppeteerExtraSharp/Plugins/BlockResources)
- Blocks images, documents etc.✋**More plugins coming soon**
## API#### Use(IPuppeteerExtraPlugin)
Adds a new plugin to plugins list and register it.
- Returns the same instance of puppeteer extra
- Parameters: instance of IPuppeteerExtraPlugin interface
```c#
var puppeteerExtra = new PuppeteerExtra().Use(new AnonymizeUaPlugin()).Use(new StealthPlugin());
```#### LaunchAsync(LaunchOptions)
- Return the new puppeteer browser instance with launch options
```c#
var browser = new PuppeteerExtra().LaunchAsync(new LaunchOptions());
```#### ConnectAsync(ConnectOptions)
- Connect to the exiting browser with connect options
```c#
var browser = new PuppeteerExtra().ConnectAsync(new ConnectOptions());
```#### GetPlugin()
- Get plugin from plugin list by type
```c#
var stealthPlugin = puppeteerExtra.GetPlugin();
```