Python module for preventing detection of CDP in Selenium, Puppeteer, and Playwright.
MIT License
PyStealth is a powerful Python module designed to enhance the stealth capabilities of your web automation projects. It works seamlessly with popular frameworks like Selenium, Puppeteer, and Playwright to prevent detection of CDP.
Install PyStealth easily with pip:
pip install pystealth
Here's how to use PyStealth with different frameworks:
from selenium import webdriver
from pystealth import PyStealth
driver = webdriver.Chrome()
PyStealth.setup_selenium(driver)
import asyncio
from pyppeteer import launch
from pystealth import PyStealth
async def main():
browser = await launch()
page = await browser.newPage()
await PyStealth.setup_pyppeteer(page)
asyncio.get_event_loop().run_until_complete(main())
from playwright.async_api import async_playwright
from pystealth import PyStealth
async def main():
async with async_playwright() as p:
browser = await p.chromium.launch()
page = await browser.new_page()
await PyStealth.setup_playwright(page)
asyncio.run(main())
import asyncio
from playwright.async_api import async_playwright
from pystealth import PyStealth
async def main():
port = 9222 # Replace with your CDP port
ws_endpoint = "/devtools/browser/..." # Replace with your WebSocket endpoint
async with async_playwright().start():
browser = await p.chromium.connect_over_cdp(f'ws://127.0.0.1:{port}{ws_endpoint}')
context = browser.contexts[0]
page = context.pages[0]
await PyStealth.setup_playwright(page)
# Your automation code here
await browser.close()
asyncio.run(main())
Contributions, issues, and feature requests are welcome! Feel free to check issues page.
Distributed under the MIT License. See LICENSE
for more information.