MCPcopy Create free account
hub / github.com/NanmiCoder/MediaCrawler / _create_browser_context

Method _create_browser_context

tools/cdp_browser.py:360–398  ·  view source on GitHub ↗

Create or get browser context

(
        self, playwright_proxy: Optional[Dict] = None, user_agent: Optional[str] = None
    )

Source from the content-addressed store, hash-verified

358 raise
359
360 async def _create_browser_context(
361 self, playwright_proxy: Optional[Dict] = None, user_agent: Optional[str] = None
362 ) -> BrowserContext:
363 """
364 Create or get browser context
365 """
366 if not self.browser:
367 raise RuntimeError("Browser not connected")
368
369 # Get existing context or create new context
370 contexts = self.browser.contexts
371
372 if contexts:
373 # Use existing first context
374 browser_context = contexts[0]
375 utils.logger.info("[CDPBrowserManager] Using existing browser context")
376 else:
377 # Create new context
378 context_options = {
379 "viewport": {"width": 1920, "height": 1080},
380 "accept_downloads": True,
381 }
382
383 # Set user agent
384 if user_agent:
385 context_options["user_agent"] = user_agent
386 utils.logger.info(f"[CDPBrowserManager] Setting user agent: {user_agent}")
387
388 # Note: Proxy settings may not work in CDP mode since browser is already launched
389 if playwright_proxy:
390 utils.logger.warning(
391 "[CDPBrowserManager] Warning: Proxy settings may not work in CDP mode, "
392 "recommend configuring system proxy or browser proxy extension before launching browser"
393 )
394
395 browser_context = await self.browser.new_context(**context_options)
396 utils.logger.info("[CDPBrowserManager] Created new browser context")
397
398 return browser_context
399
400 async def add_stealth_script(self, script_path: str = "libs/stealth.min.js"):
401 """

Callers 2

launch_and_connectMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected