Java/Selenium自动化测试:EdgeDriver实例化失败求助
解决EdgeDriver实例化失败(403 Forbidden)问题
问题原因
错误日志中的Invalid Status code=403 text=Forbidden,和此前Chrome遇到的问题本质一致:Selenium 4.x与Chromium内核浏览器(Edge/Chrome)的会话协议更新后,跨源请求被默认拦截,导致无法正常创建会话。
解决方案
Edge基于Chromium内核,可使用与Chrome逻辑一致的参数解决问题,具体分两种配置方式:
方式1:代码中配置EdgeOptions
在初始化EdgeDriver前添加启动参数:
import org.openqa.selenium.edge.EdgeDriver; import org.openqa.selenium.edge.EdgeOptions; public class EdgeAutomationTest { public static void main(String[] args) { EdgeOptions options = new EdgeOptions(); // 添加允许任意源请求的参数 options.addArguments("--remote-allow-origins=*"); EdgeDriver driver = new EdgeDriver(options); // 后续测试逻辑... } }
方式2:通过Serenity配置文件设置
在你的serenity.properties中新增以下配置项:
webdriver.edge.switches="--remote-allow-origins=*"
验证
添加配置后重新运行测试,若EdgeDriver能正常启动并创建会话,说明问题已解决。
内容的提问来源于stack exchange,提问作者Job46
相关产品推荐
相关产品推荐

