Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rebrowser/rebrowser-playwright-python
A drop-in replacement for playwright-python patched with rebrowser-patches. It allows to pass modern automation detection tests.
https://github.com/rebrowser/rebrowser-playwright-python
automation bot bot-detection captcha headless playwright playwright-python rebrowser rebrowser-patches scraping web-scraping
Last synced: 7 days ago
JSON representation
A drop-in replacement for playwright-python patched with rebrowser-patches. It allows to pass modern automation detection tests.
- Host: GitHub
- URL: https://github.com/rebrowser/rebrowser-playwright-python
- Owner: rebrowser
- License: apache-2.0
- Created: 2024-10-01T04:31:37.000Z (4 months ago)
- Default Branch: 1.49.0
- Last Pushed: 2024-12-05T23:16:54.000Z (about 2 months ago)
- Last Synced: 2024-12-08T09:10:45.976Z (about 2 months ago)
- Topics: automation, bot, bot-detection, captcha, headless, playwright, playwright-python, rebrowser, rebrowser-patches, scraping, web-scraping
- Language: Python
- Homepage: https://github.com/rebrowser/rebrowser-patches
- Size: 1.29 MB
- Stars: 40
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Support: SUPPORT.md
Awesome Lists containing this project
README
# 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 [![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)
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 131.0.6778.33 | ✅ | ✅ | ✅ |
| WebKit 18.2 | ✅ | ✅ | ✅ |
| Firefox 132.0 | ✅ | ✅ | ✅ |## 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_playwrightwith 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_playwrightasync 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).