diff --git a/docs/src/release-notes-csharp.md b/docs/src/release-notes-csharp.md index 9dc037c1a8..edc12f0a75 100644 --- a/docs/src/release-notes-csharp.md +++ b/docs/src/release-notes-csharp.md @@ -4,6 +4,45 @@ title: "Release notes" toc_max_heading_level: 2 --- +## Version 1.42 + +### New Locator Handler + +New method [`method: Page.addLocatorHandler`] registers a callback that will be invoked when specified element becomes visible and may block Playwright actions. The callback can get rid of the overlay. Here is an example that closes a cookie dialog when it appears. + +```csharp +// Setup the handler. +await Page.AddLocatorHandlerAsync( + Page.GetByRole(AriaRole.Heading, new() { Name = "Hej! You are in control of your cookies." }), + async () => + { + await Page.GetByRole(AriaRole.Button, new() { Name = "Accept all" }).ClickAsync(); + }); +// Write the test as usual. +await Page.GotoAsync("https://www.ikea.com/"); +await Page.GetByRole(AriaRole.Link, new() { Name = "Collection of blue and white" }).ClickAsync(); +await Expect(Page.GetByRole(AriaRole.Heading, new() { Name = "Light and easy" })).ToBeVisibleAsync(); +``` + +### New APIs + +- [`method: Page.pdf`] accepts two new options [`option: tagged`] and [`option: outline`]. + +### Announcements + +* ⚠️ Ubuntu 18 is not supported anymore. + +### Browser Versions + +* Chromium 121.0.6167.57 +* Mozilla Firefox 121.0 +* WebKit 17.4 + +This version was also tested against the following stable channels: + +* Google Chrome 120 +* Microsoft Edge 120 + ## Version 1.41 ### New APIs diff --git a/docs/src/release-notes-java.md b/docs/src/release-notes-java.md index a792365d21..5029f2bc88 100644 --- a/docs/src/release-notes-java.md +++ b/docs/src/release-notes-java.md @@ -4,6 +4,44 @@ title: "Release notes" toc_max_heading_level: 2 --- +## Version 1.42 + +### New Locator Handler + +New method [`method: Page.addLocatorHandler`] registers a callback that will be invoked when specified element becomes visible and may block Playwright actions. The callback can get rid of the overlay. Here is an example that closes a cookie dialog when it appears. + +```java +// Setup the handler. +page.addLocatorHandler( + page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("Hej! You are in control of your cookies.")), + () - > { + page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("Accept all")).click(); + }); +// Write the test as usual. +page.navigate("https://www.ikea.com/"); +page.getByRole(AriaRole.LINK, new Page.GetByRoleOptions().setName("Collection of blue and white")).click(); +assertThat(page.getByRole(AriaRole.HEADING, new Page.GetByRoleOptions().setName("Light and easy"))).isVisible(); +``` + +### New APIs + +- [`method: Page.pdf`] accepts two new options [`option: tagged`] and [`option: outline`]. + +### Announcements + +* ⚠️ Ubuntu 18 is not supported anymore. + +### Browser Versions + +* Chromium 121.0.6167.57 +* Mozilla Firefox 121.0 +* WebKit 17.4 + +This version was also tested against the following stable channels: + +* Google Chrome 120 +* Microsoft Edge 120 + ## Version 1.41 ### New APIs diff --git a/docs/src/release-notes-python.md b/docs/src/release-notes-python.md index 662df326e2..2b01538f37 100644 --- a/docs/src/release-notes-python.md +++ b/docs/src/release-notes-python.md @@ -4,6 +4,43 @@ title: "Release notes" toc_max_heading_level: 2 --- +## Version 1.42 + +### New Locator Handler + +New method [`method: Page.addLocatorHandler`] registers a callback that will be invoked when specified element becomes visible and may block Playwright actions. The callback can get rid of the overlay. Here is an example that closes a cookie dialog when it appears. + +```python +# Setup the handler. +page.add_locator_handler( + page.get_by_role("heading", name="Hej! You are in control of your cookies."), + lambda: page.get_by_role("button", name="Accept all").click(), +) +# Write the test as usual. +page.goto("https://www.ikea.com/") +page.get_by_role("link", name="Collection of blue and white").click() +expect(page.get_by_role("heading", name="Light and easy")).to_be_visible() +``` + +### New APIs + +- [`method: Page.pdf`] accepts two new options [`option: tagged`] and [`option: outline`]. + +### Announcements + +* ⚠️ Ubuntu 18 is not supported anymore. + +### Browser Versions + +* Chromium 121.0.6167.57 +* Mozilla Firefox 121.0 +* WebKit 17.4 + +This version was also tested against the following stable channels: + +* Google Chrome 120 +* Microsoft Edge 120 + ## Version 1.41 ### New APIs