PhantomJSDriver может использоваться для выполнения этой функции.
DesiredCapabilities cap = DesiredCapabilities.chrome();
ImmutableMap<String, String> commandLineArguments = ImmutableMap.<String,
String>builder()
.put("web-security", "false")
.put("ssl-protocol", "any")
.put("ignore-ssl-errors", "true")
.put("webdriver-loglevel", "DEBUG")
.put("ssl-client-certificate-file", certificatePath)
.put("ssl-client-key-passphrase", certificatePassword)
.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(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, params);
cap.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = new PhantomJSDriver(cap);
driver.get(Url);
Если сертификат не является обязательным, это означает, что вы можете пропустить элемент управления сертификатом, приняв незащищенные сертификаты, вы можете пропустить элемент управления сертификатом со следующими возможностями:
Chrome & Internet Explorer
capability.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
capability.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true)
Firefox
Сначала вам нужно создать профиль, скажем, exampleProfile
.
Затем откройте этот профиль в своем скрипте с помощью приведенного ниже кода;
ProfilesIni profIni = new ProfilesIni();
FirefoxProfile exampleProfile = profIni.getProfile("exampleProfile");
После этого вам нужно установить AcceptUntrustedCertificates
& AssumeUntrustedCertificateIssuer
свойства.
exampleProfile.setAcceptUntrustedCertificates(true);
exampleProfile.setAssumeUntrustedCertificateIssuer(false);
Наконец, вы можете инициализировать драйвер с помощью следующего кода:
WebDriver driver = new FirefoxDriver(exampleProfile);