import json import logging import os # Import browser_use components with comprehensive error handling try: from browser_use.browser.browser import Browser, IN_DOCKER from browser_use.browser.context import BrowserContext, BrowserContextConfig, BrowserContextState except ImportError as e: # Fallback for different browser_use versions logger = logging.getLogger(__name__) logger.warning(f"Failed to import browser_use components: {e}") # Set default values IN_DOCKER = False # Try to import basic components try: from browser_use.browser.browser import Browser from browser_use.browser.context import BrowserContext, BrowserContextConfig, BrowserContextState except ImportError: logger.error("Could not import basic browser_use components") raise from playwright.async_api import Browser as PlaywrightBrowser from playwright.async_api import BrowserContext as PlaywrightBrowserContext from typing import Optional logger = logging.getLogger(__name__) class CustomBrowserContext(BrowserContext): def __init__( self, browser: 'Browser', config: BrowserContextConfig | None = None, state: Optional[BrowserContextState] = None, ): super(CustomBrowserContext, self).__init__(browser=browser, config=config, state=state)