更新Java及新版ChromeDriver后仍遇WebSocket连接403错误求助
解决方案
核心问题排查与修复
1. 严格匹配Chrome与ChromeDriver版本
查看Chrome浏览器版本(地址栏输入chrome://version),下载版本号完全一致的ChromeDriver,确保主版本、次版本、修订号完全匹配,避免版本差异导致的通信异常。
2. 添加Chrome启动参数解除跨源限制
在初始化ChromeDriver时添加--remote-allow-origins=*参数,解决Selenium 4.x版本后ChromeDriver的跨源请求限制:
import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; public class Test_automation { public static void main(String[] args) { ChromeOptions options = new ChromeOptions(); options.addArguments("--remote-allow-origins=*"); ChromeDriver driver = new ChromeDriver(options); // 后续业务代码 } }
3. 检查本地代理与防火墙设置
403 Forbidden错误大概率是本地防火墙或代理拦截了WebSocket连接:
- 暂时关闭系统防火墙,测试连接是否恢复正常
- 将Chrome和ChromeDriver加入防火墙白名单
- 检查代理配置,确保
localhost或127.0.0.1的请求不经过代理
4. 消除SLF4J日志警告(可选)
若要解决SLF4J无提供者的警告,可在项目依赖中添加SLF4J实现包,例如Maven项目添加:
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.7</version> <scope>test</scope> </dependency>
内容的提问来源于stack exchange,提问作者Aayushi
相关产品推荐
相关产品推荐

