# rebrowser-playwright
> ⚠️ This is the original [`playwright-python`](https://github.com/microsoft/playwright-python) patched with [`rebrowser-patches`](https://github.com/rebrowser/rebrowser-patches).
>
> 🕵️ The ultimate goal is to pass all automation detection tests presented in [`rebrowser-bot-detector`](https://github.com/rebrowser/rebrowser-bot-detector).
>
> 🪄 It's designed to be a drop-in replacement for the original `playwright` without changing your codebase. Each major and minor version of this repo matches the original repo, patch version could differ due to changes related to the patch itself.
>
> ☝️ Make sure to read: [Patches for Puppeteer and Playwright](https://rebrowser.net/docs/patches-for-puppeteer-and-playwright)
>
> 🐛 Please report any issues in the [`rebrowser-patches`](https://github.com/rebrowser/rebrowser-patches/issues) repo.
# 🎭 [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 -->131.0.6778.33<!-- GEN:stop --> | ✅ | ✅ | ✅ |
| WebKit <!-- GEN:webkit-version -->18.2<!-- GEN:stop --> | ✅ | ✅ | ✅ |
| Firefox <!-- GEN:firefox-version -->132.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": "rebrowser-playwright",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": null,
"author": "Microsoft Corporation",
"author_email": null,
"download_url": null,
"platform": null,
"description": "# rebrowser-playwright\n> \u26a0\ufe0f This is the original [`playwright-python`](https://github.com/microsoft/playwright-python) patched with [`rebrowser-patches`](https://github.com/rebrowser/rebrowser-patches).\n>\n> \ud83d\udd75\ufe0f The ultimate goal is to pass all automation detection tests presented in [`rebrowser-bot-detector`](https://github.com/rebrowser/rebrowser-bot-detector).\n>\n> \ud83e\ude84 It's designed to be a drop-in replacement for the original `playwright` without changing your codebase. Each major and minor version of this repo matches the original repo, patch version could differ due to changes related to the patch itself.\n>\n> \u261d\ufe0f Make sure to read: [Patches for Puppeteer and Playwright](https://rebrowser.net/docs/patches-for-puppeteer-and-playwright)\n>\n> \ud83d\udc1b Please report any issues in the [`rebrowser-patches`](https://github.com/rebrowser/rebrowser-patches/issues) repo.\n\n# \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 -->131.0.6778.33<!-- GEN:stop --> | \u2705 | \u2705 | \u2705 |\n| WebKit <!-- GEN:webkit-version -->18.2<!-- GEN:stop --> | \u2705 | \u2705 | \u2705 |\n| Firefox <!-- GEN:firefox-version -->132.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": "Apache-2.0",
"summary": "A high-level API to automate web browsers",
"version": "1.49.0",
"project_urls": {
"Release notes": "https://github.com/rebrowser/rebrowser-playwright-python/releases",
"homepage": "https://github.com/rebrowser/rebrowser-playwright-python"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "46ff2985fa4eb23ad44f93aa8eb91e82d925b1509f3375d0b4e26c43acb32cb6",
"md5": "906db5e354af82a6ad34314e99116a8f",
"sha256": "28c1c763bc98089cd2d6bcd25cc139dd03fded4a54d40c957b4506ab30e35187"
},
"downloads": -1,
"filename": "rebrowser_playwright-1.49.0-py3-none-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "906db5e354af82a6ad34314e99116a8f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 39234833,
"upload_time": "2024-12-05T23:15:35",
"upload_time_iso_8601": "2024-12-05T23:15:35.207179Z",
"url": "https://files.pythonhosted.org/packages/46/ff/2985fa4eb23ad44f93aa8eb91e82d925b1509f3375d0b4e26c43acb32cb6/rebrowser_playwright-1.49.0-py3-none-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9be0d1086fcea6af93d8a50180d08ffc46bf57adfd2e06f43fb7b38fc8eabca8",
"md5": "86021f565e92f0b54cb0de46371d6a45",
"sha256": "5feaea2aab3d9dc76f9d2dd4f1cb9dded10b73cab6fa5960d11484116e18266b"
},
"downloads": -1,
"filename": "rebrowser_playwright-1.49.0-py3-none-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "86021f565e92f0b54cb0de46371d6a45",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 38483949,
"upload_time": "2024-12-05T23:15:39",
"upload_time_iso_8601": "2024-12-05T23:15:39.851949Z",
"url": "https://files.pythonhosted.org/packages/9b/e0/d1086fcea6af93d8a50180d08ffc46bf57adfd2e06f43fb7b38fc8eabca8/rebrowser_playwright-1.49.0-py3-none-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bf59e12a90911b94dad801af8e860f66f94d51419ad5d1ceae55b20b3790be3d",
"md5": "459a26dbb5a587e8c08122a2e3000541",
"sha256": "4b440e903458dc1094ff3fc8cfde04b6001965511f3b86c6e676198ef2da40cc"
},
"downloads": -1,
"filename": "rebrowser_playwright-1.49.0-py3-none-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "459a26dbb5a587e8c08122a2e3000541",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 39234833,
"upload_time": "2024-12-05T23:15:43",
"upload_time_iso_8601": "2024-12-05T23:15:43.985276Z",
"url": "https://files.pythonhosted.org/packages/bf/59/e12a90911b94dad801af8e860f66f94d51419ad5d1ceae55b20b3790be3d/rebrowser_playwright-1.49.0-py3-none-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fe391b0e35d59ad6d8b245737ac95ada06980bbce3faedd48290ac04c168b23d",
"md5": "f864f8a8fd230312cff9f9d1c222d6b2",
"sha256": "e04f1b6181dbe2deeef9ddde7f1bd9c5cde01eea6804a487f25ab3be916b86f3"
},
"downloads": -1,
"filename": "rebrowser_playwright-1.49.0-py3-none-manylinux1_x86_64.whl",
"has_sig": false,
"md5_digest": "f864f8a8fd230312cff9f9d1c222d6b2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 43838282,
"upload_time": "2024-12-05T23:15:48",
"upload_time_iso_8601": "2024-12-05T23:15:48.380340Z",
"url": "https://files.pythonhosted.org/packages/fe/39/1b0e35d59ad6d8b245737ac95ada06980bbce3faedd48290ac04c168b23d/rebrowser_playwright-1.49.0-py3-none-manylinux1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5da58cea0a9ad2db988b131eb9705e9b623a2646e6a8e50966d4f8608b42c9ef",
"md5": "7ca76d5b37abaaa22134da7a975df360",
"sha256": "109bb5ed350d089a36a68c2bcdd77cffa5c186284b366bde67b5d7f6ce4ad085"
},
"downloads": -1,
"filename": "rebrowser_playwright-1.49.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "7ca76d5b37abaaa22134da7a975df360",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 43419331,
"upload_time": "2024-12-05T23:15:53",
"upload_time_iso_8601": "2024-12-05T23:15:53.786973Z",
"url": "https://files.pythonhosted.org/packages/5d/a5/8cea0a9ad2db988b131eb9705e9b623a2646e6a8e50966d4f8608b42c9ef/rebrowser_playwright-1.49.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6b48ec65503db702dc2d06eaf1a6754d5fb8a2098e12699eab70d0868a498d7a",
"md5": "41a718132e4d0838be685538a6d11a02",
"sha256": "27da136424e81b71a805c49ac577b5aa71b0ce493929ede0f4157fa99b6770de"
},
"downloads": -1,
"filename": "rebrowser_playwright-1.49.0-py3-none-win32.whl",
"has_sig": false,
"md5_digest": "41a718132e4d0838be685538a6d11a02",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 33735640,
"upload_time": "2024-12-05T23:15:57",
"upload_time_iso_8601": "2024-12-05T23:15:57.594815Z",
"url": "https://files.pythonhosted.org/packages/6b/48/ec65503db702dc2d06eaf1a6754d5fb8a2098e12699eab70d0868a498d7a/rebrowser_playwright-1.49.0-py3-none-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1a2b31bd3cc01b8c7f69bf1bb1e815ef40435fb8e43d5384cd8af9c17cb9151f",
"md5": "fa446039c859d45ab3d2e8c284b1115c",
"sha256": "1f30b7b0f6885b9b1817a8c651705c45b47f1510cfa568cf8aa2c8ed9424aa6e"
},
"downloads": -1,
"filename": "rebrowser_playwright-1.49.0-py3-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "fa446039c859d45ab3d2e8c284b1115c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 33735644,
"upload_time": "2024-12-05T23:16:01",
"upload_time_iso_8601": "2024-12-05T23:16:01.789266Z",
"url": "https://files.pythonhosted.org/packages/1a/2b/31bd3cc01b8c7f69bf1bb1e815ef40435fb8e43d5384cd8af9c17cb9151f/rebrowser_playwright-1.49.0-py3-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-05 23:15:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rebrowser",
"github_project": "rebrowser-playwright-python",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "rebrowser-playwright"
}