PDF 未在 Chrome 中打开,由 Selenium 启动

PDF is not being opened in Chrome started by Selenium

我正在使用带有最新 Chrome 的 Selenium 和 ChromeDriver 2.43.1(提出问题时的版本 42.0.2311.135)。我的 Web 应用程序生成一个 PDF。它以正确的 MIME 类型发送,并且在 Chrome PDF 查看器中也能正确打开。但是,当我尝试使用 WebDriver 启动的 Chrome 中的 Selenium 打开 PDF 时,它会被下载。

我相信这可能是 Selenium 或 WebDriver 用来启动的一些设置 Chrome。

我试过 settings a few switches,但还没有成功。我的代码:

DesiredCapabilities capabilities = DesiredCapabilities.chrome();
// Add ChromeDriver-specific capabilities through ChromeOptions.
ChromeOptions options = new ChromeOptions();
options.addArguments("--please-make-it-work"); // not a real switch
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
webDriver = new ChromeDriver(capabilities);
webDriver.get(url);

我真正需要的是以"normal"模式启动浏览器。它不需要任何配置文件设置,只需要打开 PDF 的默认设置。

问题是由最近对 --test-type 开关行为的更改引起的。是described in the ChromeDriver issue tracker.

解决方法是禁用此开关。这是我更改的代码:

// Add ChromeDriver-specific capabilities through ChromeOptions.
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches", Arrays.asList("test-type"));
webDriver = new ChromeDriver(options);
webDriver.get(url);