# 🎠[Playwright](https://playwright.dev) for Python [](https://pypi.python.org/pypi/playwright/) [](https://anaconda.org/Microsoft/playwright) [](https://aka.ms/playwright/discord)
Playwright is a Python library to automate [Chromium](https://www.chromium.org/Home), [Firefox](https://www.mozilla.org/en-US/firefox/new/) and [WebKit](https://webkit.org/) browsers with a single API. Playwright delivers automation that is **ever-green**, **capable**, **reliable** and **fast**. [See how Playwright is better](https://playwright.dev/python).
| | Linux | macOS | Windows |
| :--- | :---: | :---: | :---: |
| Chromium <!-- GEN:chromium-version -->140.0.7339.16<!-- GEN:stop --> | ✅ | ✅ | ✅ |
| WebKit <!-- GEN:webkit-version -->26.0<!-- GEN:stop --> | ✅ | ✅ | ✅ |
| Firefox <!-- GEN:firefox-version -->141.0<!-- GEN:stop --> | ✅ | ✅ | ✅ |
## Documentation
[https://playwright.dev/python/docs/intro](https://playwright.dev/python/docs/intro)
## API Reference
[https://playwright.dev/python/docs/api/class-playwright](https://playwright.dev/python/docs/api/class-playwright)
## Example
```py
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
for browser_type in [p.chromium, p.firefox, p.webkit]:
browser = browser_type.launch()
page = browser.new_page()
page.goto('http://playwright.dev')
page.screenshot(path=f'example-{browser_type.name}.png')
browser.close()
```
```py
import asyncio
from playwright.async_api import async_playwright
async def main():
async with async_playwright() as p:
for browser_type in [p.chromium, p.firefox, p.webkit]:
browser = await browser_type.launch()
page = await browser.new_page()
await page.goto('http://playwright.dev')
await page.screenshot(path=f'example-{browser_type.name}.png')
await browser.close()
asyncio.run(main())
```
## Other languages
More comfortable in another programming language? [Playwright](https://playwright.dev) is also available in
- [Node.js (JavaScript / TypeScript)](https://playwright.dev/docs/intro),
- [.NET](https://playwright.dev/dotnet/docs/intro),
- [Java](https://playwright.dev/java/docs/intro).
Raw data
{
"_id": null,
"home_page": null,
"name": "playwright",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": null,
"author": "Microsoft Corporation License-Expression: Apache-2.0",
"author_email": null,
"download_url": null,
"platform": null,
"description": "# \ud83c\udfad [Playwright](https://playwright.dev) for Python [](https://pypi.python.org/pypi/playwright/) [](https://anaconda.org/Microsoft/playwright) [](https://aka.ms/playwright/discord)\n\nPlaywright is a Python library to automate [Chromium](https://www.chromium.org/Home), [Firefox](https://www.mozilla.org/en-US/firefox/new/) and [WebKit](https://webkit.org/) browsers with a single API. Playwright delivers automation that is **ever-green**, **capable**, **reliable** and **fast**. [See how Playwright is better](https://playwright.dev/python).\n\n| | Linux | macOS | Windows |\n| :--- | :---: | :---: | :---: |\n| Chromium <!-- GEN:chromium-version -->140.0.7339.16<!-- GEN:stop --> | \u2705 | \u2705 | \u2705 |\n| WebKit <!-- GEN:webkit-version -->26.0<!-- GEN:stop --> | \u2705 | \u2705 | \u2705 |\n| Firefox <!-- GEN:firefox-version -->141.0<!-- GEN:stop --> | \u2705 | \u2705 | \u2705 |\n\n## Documentation\n\n[https://playwright.dev/python/docs/intro](https://playwright.dev/python/docs/intro)\n\n## API Reference\n\n[https://playwright.dev/python/docs/api/class-playwright](https://playwright.dev/python/docs/api/class-playwright)\n\n## Example\n\n```py\nfrom playwright.sync_api import sync_playwright\n\nwith sync_playwright() as p:\n for browser_type in [p.chromium, p.firefox, p.webkit]:\n browser = browser_type.launch()\n page = browser.new_page()\n page.goto('http://playwright.dev')\n page.screenshot(path=f'example-{browser_type.name}.png')\n browser.close()\n```\n\n```py\nimport asyncio\nfrom playwright.async_api import async_playwright\n\nasync def main():\n async with async_playwright() as p:\n for browser_type in [p.chromium, p.firefox, p.webkit]:\n browser = await browser_type.launch()\n page = await browser.new_page()\n await page.goto('http://playwright.dev')\n await page.screenshot(path=f'example-{browser_type.name}.png')\n await browser.close()\n\nasyncio.run(main())\n```\n\n## Other languages\n\nMore comfortable in another programming language? [Playwright](https://playwright.dev) is also available in\n- [Node.js (JavaScript / TypeScript)](https://playwright.dev/docs/intro),\n- [.NET](https://playwright.dev/dotnet/docs/intro),\n- [Java](https://playwright.dev/java/docs/intro).\n",
"bugtrack_url": null,
"license": null,
"summary": "A high-level API to automate web browsers",
"version": "1.55.0",
"project_urls": {
"Release notes": "https://github.com/microsoft/playwright-python/releases",
"homepage": "https://github.com/Microsoft/playwright-python"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "803ac81ff76df266c62e24f19718df9c168f49af93cabdbc4608ae29656a9986",
"md5": "62297d24356bad33a19769dd949d4b8d",
"sha256": "d7da108a95001e412effca4f7610de79da1637ccdf670b1ae3fdc08b9694c034"
},
"downloads": -1,
"filename": "playwright-1.55.0-py3-none-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "62297d24356bad33a19769dd949d4b8d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 40428109,
"upload_time": "2025-08-28T15:46:20",
"upload_time_iso_8601": "2025-08-28T15:46:20.357402Z",
"url": "https://files.pythonhosted.org/packages/80/3a/c81ff76df266c62e24f19718df9c168f49af93cabdbc4608ae29656a9986/playwright-1.55.0-py3-none-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cff5bdb61553b20e907196a38d864602a9b4a461660c3a111c67a35179b636fa",
"md5": "09514e5bfd9a5b9f53ae26261a6060a6",
"sha256": "8290cf27a5d542e2682ac274da423941f879d07b001f6575a5a3a257b1d4ba1c"
},
"downloads": -1,
"filename": "playwright-1.55.0-py3-none-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "09514e5bfd9a5b9f53ae26261a6060a6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 38687254,
"upload_time": "2025-08-28T15:46:23",
"upload_time_iso_8601": "2025-08-28T15:46:23.925690Z",
"url": "https://files.pythonhosted.org/packages/cf/f5/bdb61553b20e907196a38d864602a9b4a461660c3a111c67a35179b636fa/playwright-1.55.0-py3-none-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4a6448b2837ef396487807e5ab53c76465747e34c7143fac4a084ef349c293a8",
"md5": "3b4cae888fd20d13ad293c1f82725cc9",
"sha256": "25b0d6b3fd991c315cca33c802cf617d52980108ab8431e3e1d37b5de755c10e"
},
"downloads": -1,
"filename": "playwright-1.55.0-py3-none-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "3b4cae888fd20d13ad293c1f82725cc9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 40428108,
"upload_time": "2025-08-28T15:46:27",
"upload_time_iso_8601": "2025-08-28T15:46:27.119085Z",
"url": "https://files.pythonhosted.org/packages/4a/64/48b2837ef396487807e5ab53c76465747e34c7143fac4a084ef349c293a8/playwright-1.55.0-py3-none-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0833858312628aa16a6de97839adc2ca28031ebc5391f96b6fb8fdf1fcb15d6c",
"md5": "64c0c862888d7cda0725e65acbebe0c2",
"sha256": "c6d4d8f6f8c66c483b0835569c7f0caa03230820af8e500c181c93509c92d831"
},
"downloads": -1,
"filename": "playwright-1.55.0-py3-none-manylinux1_x86_64.whl",
"has_sig": false,
"md5_digest": "64c0c862888d7cda0725e65acbebe0c2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 45905643,
"upload_time": "2025-08-28T15:46:30",
"upload_time_iso_8601": "2025-08-28T15:46:30.312180Z",
"url": "https://files.pythonhosted.org/packages/08/33/858312628aa16a6de97839adc2ca28031ebc5391f96b6fb8fdf1fcb15d6c/playwright-1.55.0-py3-none-manylinux1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8383b8d06a5b5721931aa6d5916b83168e28bd891f38ff56fe92af7bdee9860f",
"md5": "d3a1baf0ac23531d79a09601584d1c3b",
"sha256": "29a0777c4ce1273acf90c87e4ae2fe0130182100d99bcd2ae5bf486093044838"
},
"downloads": -1,
"filename": "playwright-1.55.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "d3a1baf0ac23531d79a09601584d1c3b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 45296647,
"upload_time": "2025-08-28T15:46:33",
"upload_time_iso_8601": "2025-08-28T15:46:33.221778Z",
"url": "https://files.pythonhosted.org/packages/83/83/b8d06a5b5721931aa6d5916b83168e28bd891f38ff56fe92af7bdee9860f/playwright-1.55.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "062e9db64518aebcb3d6ef6cd6d4d01da741aff912c3f0314dadb61226c6a96a",
"md5": "5b10abeef21af670672728b94c4b2bc9",
"sha256": "29e6d1558ad9d5b5c19cbec0a72f6a2e35e6353cd9f262e22148685b86759f90"
},
"downloads": -1,
"filename": "playwright-1.55.0-py3-none-win32.whl",
"has_sig": false,
"md5_digest": "5b10abeef21af670672728b94c4b2bc9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 35476046,
"upload_time": "2025-08-28T15:46:36",
"upload_time_iso_8601": "2025-08-28T15:46:36.184035Z",
"url": "https://files.pythonhosted.org/packages/06/2e/9db64518aebcb3d6ef6cd6d4d01da741aff912c3f0314dadb61226c6a96a/playwright-1.55.0-py3-none-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "464f9ba607fa94bb9cee3d4beb1c7b32c16efbfc9d69d5037fa85d10cafc618b",
"md5": "284af29ea6543e9f5c8f6ba51e611eb7",
"sha256": "7eb5956473ca1951abb51537e6a0da55257bb2e25fc37c2b75af094a5c93736c"
},
"downloads": -1,
"filename": "playwright-1.55.0-py3-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "284af29ea6543e9f5c8f6ba51e611eb7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 35476048,
"upload_time": "2025-08-28T15:46:38",
"upload_time_iso_8601": "2025-08-28T15:46:38.867500Z",
"url": "https://files.pythonhosted.org/packages/46/4f/9ba607fa94bb9cee3d4beb1c7b32c16efbfc9d69d5037fa85d10cafc618b/playwright-1.55.0-py3-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "21985ca173c8ec906abde26c28e1ecb34887343fd71cc4136261b90036841323",
"md5": "8a8df94458dc996312fa67b8e778c551",
"sha256": "012dc89ccdcbd774cdde8aeee14c08e0dd52ddb9135bf10e9db040527386bd76"
},
"downloads": -1,
"filename": "playwright-1.55.0-py3-none-win_arm64.whl",
"has_sig": false,
"md5_digest": "8a8df94458dc996312fa67b8e778c551",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 31225543,
"upload_time": "2025-08-28T15:46:41",
"upload_time_iso_8601": "2025-08-28T15:46:41.613135Z",
"url": "https://files.pythonhosted.org/packages/21/98/5ca173c8ec906abde26c28e1ecb34887343fd71cc4136261b90036841323/playwright-1.55.0-py3-none-win_arm64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-28 15:46:20",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "microsoft",
"github_project": "playwright-python",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "greenlet",
"specs": [
[
"==",
"3.2.4"
]
]
},
{
"name": "pyee",
"specs": [
[
"==",
"13.0.0"
]
]
},
{
"name": "typing-extensions",
"specs": [
[
"==",
"4.14.1"
]
]
}
],
"lcname": "playwright"
}