{"record":{"id":"957dcbf8d3b58176","repo":"SeleniumHQ/selenium","slug":"invalid-driver-name-driver-name","errorCode":null,"errorMessage":"Invalid driver name: {driver_name}","messagePattern":"Invalid driver name: (.+?)","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"rust/src/lib.rs","lineNumber":1750,"sourceCode":"        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}\n\npub fn clear_cache(log: &Logger, path: &str) {\n    let cache_path = Path::new(path).to_path_buf();\n    if cache_path.exists() {\n        log.debug(format!(\"Clearing cache at: {}\", cache_path.display()));\n        fs::remove_dir_all(&cache_path).unwrap_or_else(|err| {\n            log.warn(format!(\n                \"The cache {} cannot be cleared: {}\",\n                cache_path.display(),\n                err\n            ))\n        });\n    }\n}\n\n/// Removes cached driver and browser binaries whose `last_used` timestamp (tracked in the","sourceCodeStart":1732,"sourceCodeEnd":1768,"githubUrl":"https://github.com/SeleniumHQ/selenium/blob/aa36b38e696a0909e973bdf5e2f9031ffe842c4b/rust/src/lib.rs#L1732-L1768","documentation":"Returned by get_manager_by_driver() when the driver name (case-insensitive) matches none of chromedriver, geckodriver, edgedriver, iedriver, or safaridriver. The original driver name is interpolated in the message.","triggerScenarios":"get_manager_by_driver(driver_name) is called with a value that eq_ignore_ascii_case matches none of the recognized driver names (lib.rs:1738-1751).","commonSituations":"Typo; requesting a driver Selenium Manager does not ship a manager for; extra suffixes like \"chromedriver.exe\".","solutions":["Use one of: chromedriver, geckodriver, edgedriver, iedriver, safaridriver.","Drop file extensions and version suffixes from the driver name.","Check spelling and whitespace."],"exampleFix":"# before\nselenium-manager --driver chrome-driver\n# after\nselenium-manager --driver chromedriver","handlingStrategy":"type-guard","validationCode":null,"typeGuard":"const SUPPORTED_DRIVERS: &[&str] = &[\"chromedriver\",\"geckodriver\",\"edgedriver\",\"iedriver\",\"safaridriver\"];\nfn is_supported_driver(name: &str) -> bool {\n    SUPPORTED_DRIVERS.iter().any(|d| d.eq_ignore_ascii_case(name.trim()))\n}\nif !is_supported_driver(&driver) {\n    return Err(anyhow!(\"invalid driver name: {driver}\"));\n}","tryCatchPattern":null,"preventionTips":["Validate driver names against the supported set before invoking Selenium Manager.","Strip extensions and version suffixes from driver names.","Provide a dropdown/enum in config UIs instead of free text."],"tags":["driver-name","validation","selenium-manager"],"backgroundTag":null,"analyzedSha":"aa36b38e696a0909e973bdf5e2f9031ffe842c4b","analyzedAt":"2026-08-14T02:32:32.244Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}