Spaces:
Running
Running
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) | |