diff --git a/docs/src/chrome-extensions.md b/docs/src/chrome-extensions.md index feec932065..90d5c7589f 100644 --- a/docs/src/chrome-extensions.md +++ b/docs/src/chrome-extensions.md @@ -27,3 +27,58 @@ const { chromium } = require('playwright'); await browserContext.close(); })(); ``` + +```python async +import asyncio +from playwright.async_api import async_playwright + +path_to_extension = "./my-extension" +user_data_dir = "/tmp/test-user-data-dir" + + +async def run(playwright): + context = await playwright.chromium.launch_persistent_context( + user_data_dir, + headless=False, + args=[ + f"--disable-extensions-except={path_to_extension}", + f"--load-extension={path_to_extension}", + ], + ) + background_page = context.background_pages[0] + # Test the background page as you would any other page. + await context.close() + + +async def main(): + async with async_playwright() as playwright: + await run(playwright) + + +asyncio.run(main()) +``` + +```python sync +from playwright.async_api import sync_playwright + +path_to_extension = "./my-extension" +user_data_dir = "/tmp/test-user-data-dir" + + +def run(playwright): + context = playwright.chromium.launch_persistent_context( + user_data_dir, + headless=False, + args=[ + f"--disable-extensions-except={path_to_extension}", + f"--load-extension={path_to_extension}", + ], + ) + background_page = context.background_pages[0] + # Test the background page as you would any other page. + context.close() + + +with sync_playwright() as playwright: + run(playwright) +```