Highlights
🎥 New video: [Playwright: A New Test Automation Framework for the Modern Web](https://youtu.be/_Jla6DyuEu4) ([slides](https://docs.google.com/presentation/d/1xFhZIJrdHkVe2CuMKOrni92HoG2SWslo0DhJJQMR1DI/edit?usp=sharing))
- We talked about Playwright
- Showed engineering work behind the scenes
- Did live demos with new features ✨
- **Special thanks** to [applitools](http://applitools.com/) for hosting the event and inviting us!
⚙️ Chrome DevTools Protocol support with [`browser_type.connect_over_cdp()`].
Browser Versions
- Chromium 92.0.4498.0
- Mozilla Firefox 89.0b6
- WebKit 14.2
This version of Playwright was also tested against the following stable channels:
- Google Chrome 90
- Microsoft Edge 90
New APIs
- new **emulation devices**: Galaxy S8, Galaxy S9+, Galaxy Tab S4, Pixel 3, Pixel 4
- new methods:
* [`browser_type.connect_over_cdp()`] to connect using Chrome DevTools protocol
* [`browser_type.connect()`] to connect to a Playwright server
* [`page.wait_for_url()`] to ensure navigations to URL
* [`video.delete()`] and [`video.save_as()`] to manage screen recording
- new options:
* `screen` option in the [`browser.new_context()`] method to emulate `window.screen` dimensions
* `position` option in [`page.check()`] and [`page.uncheck()`] methods
* `trial` option to dry-run actions in [`page.check()`], [`page.uncheck()`], [`page.click()`], [`page.dblclick()`], [`page.hover()`] and [`page.tap()`]
* `headers` option in [`browser_type.connect()`]
[`browser.new_context()`]: https://playwright.dev/python/docs/next/api/class-browser#browsernew_contextkwargs
[`page.wait_for_url()`]: https://playwright.dev/python/docs/next/api/class-page#pagewait_for_urlurl-kwargs
[`video.delete()`]: https://playwright.dev/python/docs/next/api/class-video#videodelete
[`video.save_as()`]: https://playwright.dev/python/docs/next/api/class-video#videosave_aspath
[`page.click()`]: https://playwright.dev/python/docs/next/api/class-page#pageclickselector-kwargs
[`page.check()`]: https://playwright.dev/python/docs/next/api/class-page#pagecheckselector-kwargs
[`page.uncheck()`]: https://playwright.dev/python/docs/next/api/class-page#pageuncheckselector-kwargs
[`page.dblclick()`]: https://playwright.dev/python/docs/next/api/class-page#pagedblclickselector-kwargs
[`page.hover()`]: https://playwright.dev/python/docs/next/api/class-page#pagehoverselector-kwargs
[`browser_type.connect()`]: https://playwright.dev/python/docs/next/api/class-browsertype#browser_typeconnectws_endpoint-kwargs
[`page.tap()`]: https://playwright.dev/python/docs/next/api/class-page#pagetapselector-kwargs
[`browser_type.connect()`]: https://playwright.dev/python/docs/next/api/class-browsertype#browser_typeconnectws_endpoint-kwargs
[`browser_type.connect_over_cdp()`]: https://playwright.dev/python/docs/next/api/class-browsertype#browser_typeconnect_over_cdpendpoint_url-kwargs