
chrome 通过 selenium 启动后显示空白页且地址栏为 data:,,通常是因 chrome 111+ 版本默认禁用远程调试接口所致;本文提供基于 chromeoptions 的标准修复方案,并附完整可运行代码与关键注意事项。
chrome 通过 selenium 启动后显示空白页且地址栏为 data:,,通常是因 chrome 111+ 版本默认禁用远程调试接口所致;本文提供基于 chromeoptions 的标准修复方案,并附完整可运行代码与关键注意事项。
当使用 Selenium + ChromeDriver 启动浏览器时,若页面始终为空白、地址栏仅显示 data:,,这并非驱动路径或版本不匹配问题,而是 Chrome 浏览器自 v111 起强制启用 --remote-allow-origins 安全策略 所致。Selenium 4.8+ 默认未显式配置该参数,导致 Chrome 拒绝 WebDriver 的远程连接请求,进而无法加载任何 URL,最终呈现空的 data URI 页面。
解决方法是通过 ChromeOptions 显式启用远程访问权限。以下是完整、可直接在 Eclipse 中运行的 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 路径(推荐使用相对路径或系统环境变量,避免硬编码)
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());
} finally {
// 建议显式关闭以释放资源
driver.quit();
}
}
}
✅ 关键说明与注意事项:
- --remote-allow-origins=* 是当前最直接有效的解决方案,适用于开发与测试环境;生产环境如需更高安全性,可限定为具体域名(如 --remote-allow-origins=https://prd.canvusapps.com)。
- 避免混用旧版 DesiredCapabilities(已弃用),全程使用 ChromeOptions。
- 确保 Chrome 浏览器与 ChromeDriver 主版本号一致(例如 Chrome 126 → 使用 ChromeDriver 126.x)。可通过 chrome://version 和 chromedriver --version 核对。
- 若仍失败,请检查是否启用了企业策略(如 Windows 组策略禁用远程调试)、杀毒软件拦截或代理设置干扰。
掌握此配置后,即可稳定启动 Chrome 并正常加载任意目标网页——空白页问题将彻底消失。










