File size: 1,713 Bytes
7b50611
 
 
 
050e8bc
6bff570
 
 
 
 
 
 
050e8bc
6bff570
 
050e8bc
 
 
 
b611b28
 
 
 
 
 
 
 
050e8bc
 
 
6bff570
7b50611
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
41
42
43
44
45
46
47
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
        # Try to import BrowserContextState, but don't fail if it doesn't exist
        try:
            from browser_use.browser.context import BrowserContextState
        except ImportError:
            # Create a dummy BrowserContextState if it doesn't exist
            class BrowserContextState:
                pass
    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)