SeleniumHQ/selenium · error · anyhow::Error
Linux arm64 is not supported yet by Microsoft Edge. Please t
Error message
Linux arm64 is not supported yet by Microsoft Edge. Please try another browser.
What it means
Hard-failure in EdgeManager::get_driver_url() (driver-URL builder) when OS is Linux and architecture is ARM64. Microsoft does not publish an edgedriver build for Linux arm64, so Selenium Manager refuses to build a download URL. The message is Edge-specific and suggests an alternative browser.
Source
Thrown at rust/src/edge.rs:324
Ok(None)
}
fn get_driver_url(&mut self) -> Result<String, Error> {
let driver_version = self.get_driver_version();
let os = self.get_os();
let arch = self.get_arch();
let driver_label = if WINDOWS.is(os) {
if ARM64.is(arch) {
"arm64"
} else if X32.is(arch) {
"win32"
} else {
"win64"
}
} else if MACOS.is(os) {
if ARM64.is(arch) { "mac64_m1" } else { "mac64" }
} else if LINUX.is(os) && ARM64.is(arch) {
return Err(anyhow!(
"Linux arm64 is not supported yet by Microsoft Edge. Please try another browser."
));
} else {
"linux64"
};
Ok(format!(
"{}{}/edgedriver_{}.zip",
self.get_driver_mirror_url_or_default(DRIVER_URL),
driver_version,
driver_label
))
}
fn get_driver_path_in_cache(&self) -> Result<PathBuf, Error> {
Ok(compose_driver_path_in_cache(
self.get_cache_path()?.unwrap_or_default(),
self.driver_name,
self.get_os(),View on GitHub (pinned to aa36b38e69)
Solutions
- Run on x86_64 Linux, Windows, or macOS where edgedriver builds exist.
- Switch to Chrome or Firefox which have broader arm64 coverage.
- Provide edgedriver manually via --driver-path if you have an arm64-compatible build.
- Verify the detected architecture is correct (check SE_ARCH / os detection).
Defensive patterns
Strategy: validation
Validate before calling
# Bash: guard against arm64 Linux before Selenium Manager builds Edge driver URL if [ "$(uname -s)" = "Linux" ] && [ "$(uname -m)" = "aarch64" ]; then echo "edgedriver unavailable on Linux arm64"; exit 1 fi
Try / catch
match edge_manager.get_driver_url() {
Ok(u) => u,
Err(e) if e.to_string().contains("Linux arm64 is not supported yet by Microsoft Edge") => {
eprintln!("Run Edge on x86_64 Linux, Windows, or macOS");
std::process::exit(1);
}
Err(e) => return Err(e),
} Prevention
- Avoid arm64 Linux for Microsoft Edge automation.
- Select browsers based on detected platform in the CI matrix.
- Use Firefox as an arm64 Linux alternative.
When it happens
Trigger: Selenium Manager on Linux ARM64 attempts to construct the edgedriver_<version>_<label>.zip URL. The LINUX.is(os) && ARM64.is(arch) guard at line 323 trips; there is no linux_arm64 label branch, only linux64.
Common situations: arm64 Linux CI (Graviton, Apple-Silicon Linux VMs); embedded arm64 boards where Microsoft Edge is unavailable; misdetected arch reporting aarch64 on a Linux host.
Related errors
- Linux arm64 is not supported yet by {}. Please try another b
- Linux arm64 is not supported yet by Google Chrome. Please tr
- Linux arm64 is not supported yet by {}. Please try another b
- Unsupported platform/architecture combination: {sys.platform
- Invalid operating system: {os}
AI-assisted analysis of SeleniumHQ/selenium@aa36b38e69 (2026-08-14).
Data as JSON: /api/errors/6756ea3a757dcccc.
Report an issue: GitHub.