
ChromeDriver 4.10+ 版本因安全策略升级,默认拒绝未经许可的远程连接,导致 driver.get() 失效并停留在空白页;需显式配置 --remote-allow-origins=* 启动参数方可正常访问目标 URL。
chromedriver 4.10+ 版本因安全策略升级,默认拒绝未经许可的远程连接,导致 `driver.get()` 失效并停留在空白页;需显式配置 `--remote-allow-origins=*` 启动参数方可正常访问目标 url。
自 Selenium 4.10 起,ChromeDriver 引入了更严格的跨源限制(基于 Chromium 的 --remote-allow-origins 安全机制),当未显式声明允许的远程来源时,WebDriver 协议请求会被拦截,表现为浏览器打开空白页、driver.get(url) 阻塞无响应,甚至抛出 org.openqa.selenium.TimeoutException 或静默失败——这正是你遇到的现象。而 FirefoxDriver 尚未实施同类限制,因此表现正常。
解决方法是通过 ChromeOptions 添加兼容性启动参数:
String URL = "https://www.selenium.dev/documentation/webdriver/waits/";
ChromeOptions options = new ChromeOptions();
options.addArguments("--remote-allow-origins=*");
// 可选:提升稳定性与可调试性
options.addArguments("--no-sandbox");
options.addArguments("--disable-dev-shm-usage");
WebDriver driver = new ChromeDriver(options);
driver.get(URL);⚠️ 注意事项:
- --remote-allow-origins=* 仅用于开发/测试环境,禁止在生产或高安全要求场景中使用;生产环境应指定明确的可信源(如 --remote-allow-origins=https://example.com);
- 确保 Chrome 与 ChromeDriver 版本严格匹配(推荐使用 Selenium Manager 自动管理驱动版本);
- 若仍出现空白页,请检查是否启用了 Chrome 扩展(可通过 options.addArguments("--disable-extensions") 排查);
- Maven 项目中请确认依赖为 selenium-java 4.10+(如
4.17.0 )。
该配置本质是绕过 Chromium 新增的 CDP(Chrome DevTools Protocol)连接校验,属于当前版本下的标准适配方案。随着 Selenium 持续演进,未来可能提供更安全的默认行为,但现阶段此参数仍是 ChromeDriver 正常工作的必要条件。

















