File size: 1,366 Bytes
405ca38
 
 
 
d0404e2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
405ca38
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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)