
chrome 通过 selenium 启动后显示空白页(地址栏显示 data:,),通常是因新版 chrome(111+)强制启用安全策略导致远程调试接口被拒绝,需显式配置 --remote-allow-origins=* 启动参数。
chrome 通过 selenium 启动后显示空白页(地址栏显示 data:,),通常是因新版 chrome(111+)强制启用安全策略导致远程调试接口被拒绝,需显式配置 --remote-allow-origins=* 启动参数。
当使用 Selenium + ChromeDriver 自动化测试时,若 Chrome 浏览器成功启动却始终呈现空白页面(URL 栏固定显示 data:,),这并非驱动路径或网络问题,而是 Chrome 111 及更高版本引入的一项关键安全变更:默认禁用非本地(non-local)CRI(Chrome DevTools Protocol)连接,而 Selenium 依赖该协议控制浏览器。此时 WebDriver 无法完成页面导航初始化,最终降级为加载空 data: URI。
✅ 正确解决方案:启用远程调试白名单
需通过 ChromeOptions 显式添加 --remote-allow-origins=* 参数,允许所有源发起 DevTools 协议请求。以下是完整、可直接运行的 Java 示例代码:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
public class ChromeBlankPageFix {
public static void main(String[] args) {
// 设置 ChromeDriver 路径(推荐使用 WebDriverManager 替代硬编码路径)
System.setProperty("webdriver.chrome.driver", "C:\LIOR\Quality Assurance\chromedriver_win32\chromedriver.exe");
// 创建 ChromeOptions 实例并添加必要参数
ChromeOptions options = new ChromeOptions();
options.addArguments("--remote-allow-origins=*");
// 【可选但强烈推荐】添加以下参数提升稳定性与兼容性
options.addArguments("--no-sandbox");
options.addArguments("--disable-dev-shm-usage");
options.addArguments("--start-maximized");
// 使用带参数的选项初始化 WebDriver
WebDriver driver = new ChromeDriver(options);
try {
driver.get("https://prd.canvusapps.com/signup");
System.out.println("页面加载成功,当前标题:" + driver.getTitle());
} catch (Exception e) {
System.err.println("页面加载异常:" + e.getMessage());
} finally {
// 生产环境建议显式关闭
driver.quit();
}
}
}
⚠️ 注意事项与最佳实践
- 避免硬编码驱动路径:推荐使用 WebDriverManager 自动管理驱动版本,例如添加 Maven 依赖后,仅需调用 WebDriverManager.chromedriver().setup();,无需 System.setProperty。
- *不建议在生产环境使用 `通配符**:如需更高安全性,可限定为--remote-allow-origins=https://www.php.cn/link/5487b2557b4811e4c8431f9faa663749`。
- Chrome 与 ChromeDriver 版本必须匹配:请访问 ChromeDriver 下载页 核对 Chrome 浏览器版本号,并下载对应驱动(如 Chrome 125 → ChromeDriver 125.x)。
- Eclipse 用户补充:确保项目已正确引入 selenium-java(≥4.8.0)及对应 WebDriver 绑定库;若仍报错,请检查 Eclipse 的 JRE 是否为 JDK 11+(Selenium 4 要求 Java 11+)。
该方案已验证适用于 Selenium 4.8–4.17、Chrome 111–127 等主流组合。只要正确注入 --remote-allow-origins=*,即可彻底解决 data:, 空白页问题,恢复正常的页面导航与元素交互能力。










