Highlights
Assertions
- New option `enabled` for [`method: LocatorAssertions.to_be_enabled`](https://playwright.dev/python/docs/test-assertions#locator-assertions-not-to-be-enabled-option-enabled).
- [`method: LocatorAssertions.to_have_text`](https://playwright.dev/python/docs/test-assertions#locator-assertions-not-to-have-text) now pierces open shadow roots.
- New option `editable` for [`method: LocatorAssertions.to_be_editable`](https://playwright.dev/python/docs/test-assertions#locator-assertions-to-be-editable-option-editable).
- New option `visible` for [`method: LocatorAssertions.to_be_visible`](https://playwright.dev/python/docs/test-assertions#locator-assertions-to-be-visible-option-visible).
Other highlights
- New option `max_redirects` for [`method: APIRequestContext.get`](https://playwright.dev/python/docs/api/class-apirequestcontext#api-request-context-get-option-max-redirects) and others to limit redirect count.
- Python 3.11 is now supported.
Behavior Change
A bunch of Playwright APIs already support the `wait_until: "domcontentloaded"` option.
For example:
python
page.goto("https://playwright.dev", wait_until="domcontentloaded")
Prior to 1.26, this would wait for all iframes to fire the `DOMContentLoaded`
event.
To align with web specification, the `'domcontentloaded'` value only waits for
the target frame to fire the `'DOMContentLoaded'` event. Use `wait_until="load"` to wait for all iframes.
Browser Versions
* Chromium 106.0.5249.30
* Mozilla Firefox 104.0
* WebKit 16.0
This version was also tested against the following stable channels:
* Google Chrome 105
* Microsoft Edge 105