使用Selenium 3.0.1加载本地页面时遇WebDriverException报错求助
问题原因与解决方案
核心问题:版本严重不兼容
你当前的版本组合完全不匹配:
- Selenium 3.0.1是2016年的早期版本,仅对Marionette驱动提供初步支持
- GeckoDriver 13.0是2022年的版本,远远超出Selenium 3.0.1的兼容范围
- Firefox 46.0的Marionette功能处于实验阶段,且与高版本GeckoDriver不兼容
可行解决方案(基于必须保留Selenium 3.0.1的限制)
1. 降级GeckoDriver到兼容版本
选择GeckoDriver 0.11.0~0.13.0版本(这是Selenium 3.0.1发布时期对应的稳定GeckoDriver版本),这些版本能和Selenium 3.0.1的Marionette协议实现匹配。
2. 升级Firefox到适配版本
将Firefox升级到47.0~52.0区间的版本:
- Firefox 47开始默认启用Marionette,无需手动配置
- 这个区间的Firefox版本与Selenium 3.0.1、低版本GeckoDriver的兼容性最佳
3. 修正本地网页加载路径
确保加载本地网页时使用标准的file://协议格式,绝对路径示例:
driver.get("file:///home/robert/your-local-page.html");
注意:路径开头是三个斜杠(file:///),避免相对路径或格式错误导致的页面加载失败。
4. 配置Firefox启用Marionette(若保留Firefox 46.0)
如果坚持使用Firefox 46.0,需要手动启用Marionette功能,添加以下配置:
System.setProperty("webdriver.firefox.marionette", "/path/to/your/geckodriver"); System.setProperty("firefox_binary", "/home/robert/firefox/firefox-bin"); FirefoxDriver driver = new FirefoxDriver();
验证步骤
- 替换对应版本的GeckoDriver和Firefox
- 检查本地网页路径格式
- 运行代码观察是否仍出现
Error loading page错误
内容的提问来源于stack exchange,提问作者TheOneJellyFish
相关产品推荐
相关产品推荐

