MCPcopy Create free account
hub / github.com/SeleniumHQ/selenium / get_browser_binary_path

Method get_browser_binary_path

rust/src/edge.rs:528–569  ·  view source on GitHub ↗
(&mut self, browser_version: &str)

Source from the content-addressed store, hash-verified

526 }
527
528 fn get_browser_binary_path(&mut self, browser_version: &str) -> Result<PathBuf, Error> {
529 let browser_in_cache = self.get_browser_path_in_cache()?;
530 if MACOS.is(self.get_os()) {
531 let macos_app_name = if self.is_beta(browser_version) {
532 EDGE_BETA_MACOS_APP_NAME
533 } else if self.is_dev(browser_version) {
534 EDGE_DEV_MACOS_APP_NAME
535 } else if self.is_nightly(browser_version) {
536 EDGE_CANARY_MACOS_APP_NAME
537 } else {
538 EDGE_MACOS_APP_NAME
539 };
540 Ok(browser_in_cache.join(macos_app_name))
541 } else if WINDOWS.is(self.get_os()) {
542 // Stable Edge MSI installs to Program Files (x86) for compatibility
543 // Beta/Dev/Canary MSIs install to Program Files
544 let (browser_path, program_files_env) = if self.is_unstable(browser_version) {
545 (
546 self.get_browser_path_from_version(browser_version)
547 .to_string(),
548 ENV_PROGRAM_FILES,
549 )
550 } else {
551 (
552 format!(
553 r"Microsoft\Edge\Application\{}\msedge.exe",
554 self.get_browser_version()
555 ),
556 ENV_PROGRAM_FILES_X86,
557 )
558 };
559 let env_value = env::var(program_files_env).unwrap_or_default();
560 let full_browser_path = Path::new(&env_value).join(&browser_path);
561 Ok((&path_to_string(&full_browser_path)).into())
562 } else {
563 Ok(browser_in_cache.join(format!(
564 "{}{}",
565 EDGE_WINDOWS_AND_LINUX_APP_NAME,
566 get_binary_extension(self.get_os())
567 )))
568 }
569 }
570
571 fn get_browser_url_for_download(&mut self, browser_version: &str) -> Result<String, Error> {
572 if self.browser_url.is_none() {

Callers 1

download_browserMethod · 0.45

Calls 9

path_to_stringFunction · 0.85
get_osMethod · 0.80
is_betaMethod · 0.80
is_devMethod · 0.80
is_nightlyMethod · 0.80
is_unstableMethod · 0.80
isMethod · 0.65

Tested by

no test coverage detected