Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A drop-in replacement for playwright-python patched with rebrowser-patches. It allows to pass modern automation detection tests.

License

Notifications You must be signed in to change notification settings

rebrowser/rebrowser-playwright-python

rebrowser-playwright

⚠️ This is the original playwright-python patched with rebrowser-patches.

πŸ•΅οΈ The ultimate goal is to pass all automation detection tests presented in 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

πŸ› Please report any issues in the rebrowser-patches repo.

Playwright is a Python library to automate Chromium, Firefox and WebKit browsers with a single API. Playwright delivers automation that is ever-green, capable, reliable and fast. See how Playwright is better.

Linux macOS Windows
Chromium 131.0.6778.33 βœ… βœ… βœ…
WebKit 18.2 βœ… βœ… βœ…
Firefox 132.0 βœ… βœ… βœ…

Documentation

https://playwright.dev/python/docs/intro

API Reference

https://playwright.dev/python/docs/api/class-playwright

Example

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()
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 is also available in

About

A drop-in replacement for playwright-python patched with rebrowser-patches. It allows to pass modern automation detection tests.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /