ChromeDriver版本不匹配引发WebDriverException问题求助
解决Selenium调用旧版ChromeDriver的问题
我来帮你梳理下问题所在,从你的代码和报错信息来看,有几个关键问题需要解决:
1. 核心代码错误:误用System.getProperty设置驱动路径
你当前代码里的System.getProperty()是读取系统属性的方法,而不是用来设置ChromeDriver路径的。正确的做法是使用System.setProperty(),并且参数要分成两个独立的字符串(不是用逗号分隔)。
修正后的代码行:
System.setProperty("webdriver.chrome.driver", "D:\\Important\\chromedriver_win32_important\\chromedriver.exe");
2. ChromeDriver与Chrome版本不兼容
从报错信息能看到你的Chrome版本是72.0.3626.119,但你安装的ChromeDriver 2.46仅支持Chrome 69-71版本,这会直接导致连接渲染器失败的问题。你需要下载匹配Chrome 72的ChromeDriver版本(ChromeDriver 2.47或2.48,这两个版本支持Chrome 71-73),替换当前的2.46版本。
3. 清理旧版本残留与环境变量
- 彻底删除旧版ChromeDriver(2.31)的所有文件,检查系统环境变量
PATH中是否还存在旧驱动的路径,如有则移除。 - 重启你的IDE(比如Eclipse/IntelliJ),清理项目缓存,避免IDE加载缓存的旧驱动路径。
4. 可选:用ChromeDriverManager自动管理驱动版本
如果不想手动维护驱动版本,可以使用ChromeDriverManager库自动下载匹配的驱动。添加依赖后,只需要两行代码就能初始化驱动,不用再手动设置路径:
WebDriverManager.chromedriver().setup(); WebDriver driver = new ChromeDriver();
修正后的完整代码示例
package Testing_Forum; import java.util.concurrent.TimeUnit; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class XTR { public static void main(String arg[]) { // 正确设置ChromeDriver路径 System.setProperty("webdriver.chrome.driver", "D:\\Important\\chromedriver_win32_important\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("https://www.google.com/"); driver.manage().window().maximize(); // 隐式等待设置为10秒更合理,1000秒过长 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); } }
内容的提问来源于stack exchange,提问作者Neeti Patil




