{"id":15459245,"url":"https://github.com/rebrowser/rebrowser-playwright-python","last_synced_at":"2025-04-07T12:06:17.748Z","repository":{"id":257806301,"uuid":"865753529","full_name":"rebrowser/rebrowser-playwright-python","owner":"rebrowser","description":"A drop-in replacement for playwright-python patched with rebrowser-patches. It allows to pass modern automation detection tests.","archived":false,"fork":false,"pushed_at":"2024-12-05T23:16:54.000Z","size":1357,"stargazers_count":40,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"1.49.0","last_synced_at":"2024-12-08T09:10:45.976Z","etag":null,"topics":["automation","bot","bot-detection","captcha","headless","playwright","playwright-python","rebrowser","rebrowser-patches","scraping","web-scraping"],"latest_commit_sha":null,"homepage":"https://github.com/rebrowser/rebrowser-patches","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rebrowser.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-01T04:31:37.000Z","updated_at":"2024-12-06T06:09:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"5535a860-4ffd-43ca-ab99-776403ea7d27","html_url":"https://github.com/rebrowser/rebrowser-playwright-python","commit_stats":{"total_commits":3,"total_committers":1,"mean_commits":3.0,"dds":0.0,"last_synced_commit":"fe03f46f371b251b71c8b020920a240342a4914a"},"previous_names":["rebrowser/rebrowser-playwright-python"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rebrowser%2Frebrowser-playwright-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rebrowser%2Frebrowser-playwright-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rebrowser%2Frebrowser-playwright-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rebrowser%2Frebrowser-playwright-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rebrowser","download_url":"https://codeload.github.com/rebrowser/rebrowser-playwright-python/tar.gz/refs/heads/1.49.0","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247648977,"owners_count":20972945,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","bot","bot-detection","captcha","headless","playwright","playwright-python","rebrowser","rebrowser-patches","scraping","web-scraping"],"created_at":"2024-10-01T23:05:43.939Z","updated_at":"2025-04-07T12:06:17.727Z","avatar_url":"https://github.com/rebrowser.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rebrowser-playwright\n\u003e ⚠️ This is the original [`playwright-python`](https://github.com/microsoft/playwright-python) patched with [`rebrowser-patches`](https://github.com/rebrowser/rebrowser-patches).\n\u003e\n\u003e 🕵️ The ultimate goal is to pass all automation detection tests presented in [`rebrowser-bot-detector`](https://github.com/rebrowser/rebrowser-bot-detector).\n\u003e\n\u003e 🪄 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\u003e\n\u003e ☝️ Make sure to read: [Patches for Puppeteer and Playwright](https://rebrowser.net/docs/patches-for-puppeteer-and-playwright)\n\u003e\n\u003e 🐛 Please report any issues in the [`rebrowser-patches`](https://github.com/rebrowser/rebrowser-patches/issues) repo.\n\n# 🎭 [Playwright](https://playwright.dev) for Python [![PyPI version](https://badge.fury.io/py/playwright.svg)](https://pypi.python.org/pypi/playwright/) [![Anaconda version](https://img.shields.io/conda/v/microsoft/playwright)](https://anaconda.org/Microsoft/playwright) [![Join Discord](https://img.shields.io/badge/join-discord-infomational)](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 \u003c!-- GEN:chromium-version --\u003e131.0.6778.33\u003c!-- GEN:stop --\u003e | ✅ | ✅ | ✅ |\n| WebKit \u003c!-- GEN:webkit-version --\u003e18.2\u003c!-- GEN:stop --\u003e | ✅ | ✅ | ✅ |\n| Firefox \u003c!-- GEN:firefox-version --\u003e132.0\u003c!-- GEN:stop --\u003e | ✅ | ✅ | ✅ |\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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frebrowser%2Frebrowser-playwright-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frebrowser%2Frebrowser-playwright-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frebrowser%2Frebrowser-playwright-python/lists"}