{"record":{"id":"91923cf0ca3b50b6","repo":"SeleniumHQ/selenium","slug":"invalid-browser-name-browser-name","errorCode":null,"errorMessage":"Invalid browser name: {browser_name}","messagePattern":"Invalid browser name: (.+?)","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"rust/src/lib.rs","lineNumber":1734,"sourceCode":"\npub fn get_manager_by_browser(browser_name: String) -> Result<Box<dyn SeleniumManager>, Error> {\n    let browser_name_lower_case = browser_name.to_ascii_lowercase();\n    if browser_name_lower_case.eq(CHROME_NAME) {\n        Ok(ChromeManager::new()?)\n    } else if browser_name_lower_case.eq(FIREFOX_NAME) {\n        Ok(FirefoxManager::new()?)\n    } else if EDGE_NAMES.contains(&browser_name_lower_case.as_str()) {\n        Ok(EdgeManager::new_with_name(browser_name)?)\n    } else if IE_NAMES.contains(&browser_name_lower_case.as_str()) {\n        Ok(IExplorerManager::new()?)\n    } else if browser_name_lower_case.eq(SAFARI_NAME) {\n        Ok(SafariManager::new()?)\n    } else if SAFARITP_NAMES.contains(&browser_name_lower_case.as_str()) {\n        Ok(SafariTPManager::new()?)\n    } else if browser_name_lower_case.eq(ELECTRON_NAME) {\n        Ok(ElectronManager::new()?)\n    } else {\n        Err(anyhow!(format!(\"Invalid browser name: {browser_name}\")))\n    }\n}\n\npub fn get_manager_by_driver(driver_name: String) -> Result<Box<dyn SeleniumManager>, Error> {\n    if driver_name.eq_ignore_ascii_case(CHROMEDRIVER_NAME) {\n        Ok(ChromeManager::new()?)\n    } else if driver_name.eq_ignore_ascii_case(GECKODRIVER_NAME) {\n        Ok(FirefoxManager::new()?)\n    } else if driver_name.eq_ignore_ascii_case(EDGEDRIVER_NAME) {\n        Ok(EdgeManager::new()?)\n    } else if driver_name.eq_ignore_ascii_case(IEDRIVER_NAME) {\n        Ok(IExplorerManager::new()?)\n    } else if driver_name.eq_ignore_ascii_case(SAFARIDRIVER_NAME) {\n        Ok(SafariManager::new()?)\n    } else {\n        Err(anyhow!(format!(\"Invalid driver name: {driver_name}\")))\n    }\n}","sourceCodeStart":1716,"sourceCodeEnd":1752,"githubUrl":"https://github.com/SeleniumHQ/selenium/blob/aa36b38e696a0909e973bdf5e2f9031ffe842c4b/rust/src/lib.rs#L1716-L1752","documentation":"Returned by get_manager_by_browser() when the lowercased browser name matches none of chrome, firefox, edge, ie, safari, safaritp, or electron. The browser name is interpolated verbatim (original case) in the message.","triggerScenarios":"get_manager_by_browser(browser_name) is called with a string that, after to_ascii_lowercase(), equals none of the recognized names (lib.rs:1717-1735).","commonSituations":"Typo (e.g. \"crome\"); passing a vendor name Selenium Manager does not route directly (Opera, Brave) instead of the chromium engine; trailing whitespace; unsupported browser.","solutions":["Use one of the supported names: chrome, firefox, edge, ie, safari, safaritp, electron.","For Chromium-based browsers not in the list, configure them via the Chrome manager path or use a manual driver.","Trim whitespace and check for typos."],"exampleFix":"# before\nselenium-manager --browser opera\n# after\nselenium-manager --browser chrome   # route Opera via chromium engine","handlingStrategy":"type-guard","validationCode":null,"typeGuard":"const SUPPORTED_BROWSERS: &[&str] = &[\"chrome\",\"firefox\",\"edge\",\"ie\",\"safari\",\"safaritp\",\"electron\"];\nfn is_supported_browser(name: &str) -> bool {\n    SUPPORTED_BROWSERS.contains(&name.to_ascii_lowercase().trim())\n}\nif !is_supported_browser(&browser) {\n    return Err(anyhow!(\"invalid browser name: {browser}\"));\n}","tryCatchPattern":null,"preventionTips":["Whitelist browser names at the configuration layer before passing them to Selenium Manager.","Trim and lowercase user-supplied browser names.","Route non-listed Chromium browsers through the Chrome manager."],"tags":["browser-name","validation","selenium-manager"],"backgroundTag":null,"analyzedSha":"aa36b38e696a0909e973bdf5e2f9031ffe842c4b","analyzedAt":"2026-08-14T02:32:32.244Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}