Get browser path
(self)
| 195 | return browser_context |
| 196 | |
| 197 | async def _get_browser_path(self) -> str: |
| 198 | """ |
| 199 | Get browser path |
| 200 | """ |
| 201 | # Prefer user-defined path |
| 202 | if config.CUSTOM_BROWSER_PATH and os.path.isfile(config.CUSTOM_BROWSER_PATH): |
| 203 | utils.logger.info( |
| 204 | f"[CDPBrowserManager] Using custom browser path: {config.CUSTOM_BROWSER_PATH}" |
| 205 | ) |
| 206 | return config.CUSTOM_BROWSER_PATH |
| 207 | |
| 208 | # Auto-detect browser path |
| 209 | browser_paths = self.launcher.detect_browser_paths() |
| 210 | |
| 211 | if not browser_paths: |
| 212 | raise RuntimeError( |
| 213 | "No available browser found. Please ensure Chrome or Edge browser is installed, " |
| 214 | "or set CUSTOM_BROWSER_PATH in config file to specify browser path." |
| 215 | ) |
| 216 | |
| 217 | browser_path = browser_paths[0] # Use the first browser found |
| 218 | browser_name, browser_version = self.launcher.get_browser_info(browser_path) |
| 219 | |
| 220 | utils.logger.info( |
| 221 | f"[CDPBrowserManager] Detected browser: {browser_name} ({browser_version})" |
| 222 | ) |
| 223 | utils.logger.info(f"[CDPBrowserManager] Browser path: {browser_path}") |
| 224 | |
| 225 | return browser_path |
| 226 | |
| 227 | async def _test_cdp_connection(self, debug_port: int) -> bool: |
| 228 | """ |
no test coverage detected