I got the same problem. And When I tried to search this message in selenium repo, I found this code:
if use_driver_in_path { // <- only calculate when IEDriverServer.exe in PATH
let version = driver_in_path_version.unwrap();
let path = driver_in_path.unwrap();
let major_version = self.get_major_version(&version)?;
// Display warning if the discovered driver version is not the same as the driver in PATH
if !self.get_driver_version().is_empty()
&& (self.is_firefox() && !version.eq(self.get_driver_version()))
|| (!self.is_firefox() && !major_version.eq(&self.get_major_browser_version()))
{
self.get_logger().warn(format!(
"The {} version ({}) detected in PATH at {} might not be compatible with \
the detected {} version ({}); currently, {} {} is recommended for {} {}.*, \
so it is advised to delete the driver in PATH and retry",
self.get_driver_name(),
&version,
path,
self.get_browser_name(),
self.get_browser_version(),
self.get_driver_name(),
self.get_driver_version(),
self.get_browser_name(),
self.get_major_browser_version()
));
}
self.set_driver_version(version.to_string());
return Ok(PathBuf::from(path));
}
I think there is something wrong when matching major versions. And that causes a warn log. It is just a log, not a throw
. So I think we can just ignore this log.
Or we can put IEDriverServer.exe in a relative path. Then pass it to the code like this:
service = webdriver.IeService('./IEDriverServer.exe')
with webdriver.Ie(service=service) as driver:
...