求助:ChromeDriver连接失败,WebDriver无法加载指定URL
解决org.openqa.selenium.WebDriverException连接错误及URL加载失败问题
你遇到的这两个org.openqa.selenium.WebDriverException: java.net.ConnectException错误,核心根源大概率是Chrome浏览器与ChromeDriver版本严重不兼容,再叠加本地连接配置问题导致的。我来帮你一步步排查解决:
1. 优先修复版本不兼容问题
你当前使用的Chrome 65.0属于相对较新的版本,但ChromeDriver 2.9是非常老旧的版本——它仅支持Chrome 31及以下版本,版本完全不匹配是引发连接失败的核心原因。
- 你需要下载与Chrome 65.0严格对应的ChromeDriver版本:Chrome 65对应的ChromeDriver版本是2.38,直接替换掉项目中当前使用的旧ChromeDriver即可,确保代码里指定的ChromeDriver路径指向新下载的文件。
2. 排查本地连接与端口异常
针对你提到的Failed to connect to localhost/0:0:0:0:0:0:0和Failed to connect to localhost/0:0:0:0:0:0:0:1:26506错误:
- 先验证
localhost可用性:打开浏览器输入http://localhost,确认能正常加载(哪怕显示无服务,也不要出现完全无法连接的状态)。 - 检查端口26506是否被占用:Windows系统可以用命令
netstat -ano | findstr :26506,Linux/Mac用lsof -i :26506查看端口占用情况,如果被其他程序占用,要么关闭占用程序,要么修改WebDriver启动时的端口配置。 - 确认WebDriver初始化配置:不要错误设置代理,也不要强制绑定错误的IP地址,保持默认的本地地址配置即可。
3. 验证URL加载的代码逻辑
如果版本和连接问题解决后仍无法加载指定URL,检查以下细节:
- 确保URL格式正确:必须以
http://或https://开头,比如不要写www.example.com,要写成https://www.example.com。 - 检查等待逻辑是否合理:如果页面还没加载完成就执行后续操作,也会触发报错。可以添加显式等待稳定页面,比如:
WebDriverWait wait = new WebDriverWait(driver, 10); wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("target-element-id"))); - 排查防火墙/安全软件拦截:暂时关闭本地防火墙或安全软件,测试是否能正常加载URL,避免它们拦截了WebDriver的连接请求。
按照以上步骤逐一排查,应该能解决你遇到的问题。如果还有疑问,可以补充更多代码片段或完整错误日志,我再帮你进一步分析。
内容的提问来源于stack exchange,提问作者prabhasa chandra sahoo
相关产品推荐
相关产品推荐

