Я хочу использовать chromedriver без головы вместо phantomjs. Для phantomjs я смог предоставить сертификат ssl и ключевые пути в качестве аргументов командной строки. как показано ниже. Как указать пути сертификата и ключа в качестве аргументов командной строки для безголового хромированного драйвера?
ImmutableMap<String, String> commandLineArguments = ImmutableMap.<String, String>builder()
.put("ssl-protocol", "any")
.put("ssl-client-certificate-file", certificatePath)
.put("ssl-client-key-file", certificateKeyPath)
.put("ssl-client-key-passphrase", "webpass").build();
String[] params = commandLineArguments.entrySet().stream()
.map(e -> String.format("--%s=%s", e.getKey(), e.getValue()))
.collect(Collectors.toList())
.toArray(new String[0]);
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
cap.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, params);

WebDriver driver;
case WebDriverType.CHROME:
WebDriverManager.chromedriver().setup();
ChromeOptions cOptions = new ChromeOptions();
cOptions.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
cOptions.setAcceptInsecureCerts(true);
// this isthe option to run chrome in headless mode
cOptions.setHeadless(true);
cOptions.addArguments("--ignore-certificate-errors");
cOptions.addArguments("disable-infobars");
driver = new ChromeDriver(cOptions);
break;
Вы также можете пройти этот путь, чтобы запустить хром в безголовом режиме.
Опции ChromeOptions = новые ChromeOptions(); options.setExperimentalOption("useAutomationExtension", false); options.addArguments("--headless", "--window-size=1920,1200","--ignore-certificate-errors"); DesiredCapabilities crcapabilities = DesiredCapabilities.chrome(); crcapabilities.setCapability(ChromeOptions.CAPABILITY, параметры); crcapabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, правда); crcapabilities.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true);
Как передать путь к сертификату и путь к ключевому файлу? Сайт требует ssl сертификат.