Skip to content

Releases: hardkoded/puppeteer-sharp

v14.0.0

25 Jan 15:49
62f2091
Compare
Choose a tag to compare

Breaking changes

  • Hopefully, this is not a big deal. But IElementHandle.ScreenshotAsync(... ScreenshotOptions) was renamed to IElementHandle.ScreenshotAsync(... ElementScreenshotOptions) in #2376

What's New

You can now wait for a device prompt!

var promptTask = Page.WaitForDevicePromptAsync();
await Task.WhenAll(
    promptTask,
    Page.ClickAsync("#connect-bluetooth"));

var devicePrompt = await promptTask;
await devicePrompt.SelectAsync(
    await devicePrompt.WaitForDeviceAsync(device => device.Name.Contains("My Device")).ConfigureAwait(false)
);

Now you can use AddRequestInterceptor instead of the Request page and give the ContinueAsync, AbortAsync and RespondAsync different priorities.

Page.AddRequestInterceptor(request =>
{
    if (request.Url.EndsWith(".css"))
    {
        var headers = request.Headers;
        headers["xaction"] = "continue";
        return request.ContinueAsync(new Payload() { Headers = headers, }, 4);
    }
    return request.ContinueAsync(new Payload(), 0);
});

Page.AddRequestInterceptor(request =>
{
    if (request.Url.EndsWith(".css"))
    {
        Dictionary<string, object> headers = [];
        foreach (var kvp in request.Headers)
        {
            headers.Add(kvp.Key, kvp.Value);
        }
        headers["xaction"] = "respond";
        return request.RespondAsync(new ResponseData() { Headers = headers, }, 2);
    }
    return request.ContinueAsync(new Payload(), 0);
});

AddRequestInterceptor will ensure that these new async listeners are executed one after the other.

Full Changelog: v13.0.2...v14.0.0

v13.0.2

05 Dec 21:49
13d6704
Compare
Choose a tag to compare

What's Changed

  • fix: update TextQuerySelector cache on subtree update by @kblok in #2365
  • Update chromium flags by @kblok in #2364
  • fix: add InlineTextBox as a non-element a11y role by @kblok in #2366
  • Fix browser check in Page.ScreenshotAsync by @kblok in #2373

Full Changelog: v13.0.1...v13.0.2

v13.0.1

22 Nov 16:19
dca5bfc
Compare
Choose a tag to compare

What's Changed

  • Restore BrowserFetcher.GetExecutablePath by @kblok in #2363

Full Changelog: v13.0.0...v13.0.1

v13.0.0

22 Nov 13:27
d5caa54
Compare
Choose a tag to compare

Breaking changes

We have a few more breaking changes in our effort to catch puppeteer.

  • FileChooser.Cancel was renamed to CancelAsync, and it's not Async by @kblok in #2336
  • New options on CreateIncognitoBrowserContextAsync to pass proxy settings. by @kblok in #2346
  • Worker was renamed to WebWorker by @kblok in #2356
  • IExecutionContext.QueryObjectsAsync was removed by @kblok in #2356
  • IFrame.GetExecutionContextAsync was removed by @kblok in #2356
  • IJSHandle.ExecutionContext was removed by @kblok in #2356

What's New

  • Update Chrome to 119.0.6045.105 by @kblok in #2354
  • Introduce screenshot optimize for speed option by @kblok in #2330
  • Expose SessionAttached and SessionDetached events by @kblok in #2334
  • Add tagged (accessible) PDFs option by @kblok in #2347
  • Add IsVisibleAsync and IsHiddenAsync by @kblok in #2349

What's Changed

Full Changelog: v12.0.0...v13.0.0

v12.0.0

25 Sep 12:22
a2a0f9c
Compare
Choose a tag to compare

New Browser Version

Chrome version is now 117.0.5938.62

Breaking change.

Small breaking change. But as it's a breaking change, we need to bump major. LaunchOption.TargetFilter now expects a Target instead a TargetInfo.

What's Changed

  • Introduce Target initialization status by @kblok in #2318
  • BREAKING: Use target for filters by @kblok in #2319
  • Separate target init from construction by @kblok in #2320
  • Expose DevTools as a target by @kblok in #2321
  • Remove Microsoft.AspNetCore.WebUtilities dependency by @kblok in #2324
  • Add --disable-search-engine-choice-screen to default arguments by @kblok in #2325
  • Roll to Chrome 117.0.5938.62 (r1181205) by @kblok in #2327

Full Changelog: v11.0.6...v12.0.0

v11.0.6

15 Sep 13:23
79dc944
Compare
Choose a tag to compare

What's Changed

  • Dropping .NET Framework test builds by @kblok in #2305
  • Use the test project in the missing test tool by @kblok in #2308
  • Add oopif tests by @kblok in #2310
  • Change a querySelector test name by @kblok in #2309
  • Add missing target manager tests by @kblok in #2312
  • Implement merge group by @kblok in #2313
  • Introduce an internal PageTarget subclass by @kblok in #2314
  • Add WorkerTarget and OtherTarget by @kblok in #2315
  • Move target updates to the target manager by @kblok in #2316
  • Remove BrowserFetcher.DefaultChromiumRevision from code examples by @kblok in #2317

Full Changelog: v11.0.5...v11.0.6

v11.0.5

04 Sep 17:16
ea6f4ec
Compare
Choose a tag to compare

What's Changed

Full Changelog: v11.0.4...v11.0.5

v11.0.4

31 Aug 17:29
33334a7
Compare
Choose a tag to compare

What's Changed

Full Changelog: v11.0.3...v11.0.4

v11.0.3

30 Aug 17:26
afae69b
Compare
Choose a tag to compare

What's Changed

Full Changelog: v11.0.2...v11.0.3

v11.0.2

23 Aug 14:56
c44322d
Compare
Choose a tag to compare

What's Changed

  • Fix URL for Chromium ResolveBuildIdAsync() by @mmalvik in #2288

New Contributors

Full Changelog: v11.0.1...v11.0.2