如何利用Selenium中的PhantomJs实现无头安全浏览器(HTTPS)或验证证书?

如何利用Selenium中的PhantomJs实现无头安全浏览器(HTTPS)或验证证书?,selenium,browser,phantomjs,headless,Selenium,Browser,Phantomjs,Headless,我需要为HTTPS实现无头浏览器(验证证书)。为此,我需要额外编写一行代码 我已经写了浏览器HTTP,它工作得很好 public class Headless { public static void main(String[] args) { File src=new File("C:\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe"); System.setProperty("phantomjs.binary.path",src.g

我需要为HTTPS实现无头浏览器(验证证书)。为此,我需要额外编写一行代码

我已经写了浏览器HTTP,它工作得很好

public class Headless {

  public static void main(String[] args)

 {

File src=new File("C:\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe");

  System.setProperty("phantomjs.binary.path",src.getAbsolutePath());

  WebDriver driver=new PhantomJSDriver();

  driver.get("https://www.google.co.in/");

  System.out.println(driver.getTitle());

 }

}
我用谷歌搜索它并获得一些信息:-

phantomjs --ignore-ssl-errors=yes;

您可以在此链接上阅读有关命令行选项的更多信息:

请格式化您的代码…您好,Vivek,欢迎来到Stack Overflow。您能否更详细地描述一下您已经做了多少工作,例如,您迄今为止尝试了什么,以及它没有起到什么作用?请记住,您可以在问题中添加更多信息。我使用的不是“PhantomJS”,而是“HtmlUnitDriver”,无法在用户名文本框中键入。WebDriver driver=新的HtmlUnitDriver();driver.get(“);System.out.println(driver.getTitle());driver.findElement(By.xpath(“//input[@class='ember-view-ember”))))。sendKeys(“XXXXXX”);无法在文本框中键入。任何人都可以检查一下,为什么它不适用于无头浏览器。我可以在Mozilla浏览器中执行它。同时通过“PhantuntJS”启动浏览器“驱动程序然后浏览器未打开。我在屏幕截图中看到。当通过“PhantunJS”驱动程序启动浏览器时,浏览器未打开。我在屏幕截图中看到。但在通过“HtmlUnitDriver()启动时”然后,我可以启动浏览器,但无法在用户名文本框中键入。因此,我尝试拍摄屏幕截图,但它抛出以下错误消息。线程“main”中出现异常java.lang.ClassCastException:org.openqa.selenium.htmlunit.HtmlUnitDriver不能强制转换为org.openqa.selenium.takesScreenshot在哪里我需要在上面的程序中包含上面的代码段。我们也需要使用“WebDriver”。PhantomJSDriver是WebDriver的一个实例,因此您可以使用它。我使用了“PhantomJS”而不是“PhantomJS”无法在用户名文本框中键入。WebDriver driver=new HtmlUnitDriver();driver.get(“XXXX.northamerica.abc.net:8443/#/login”);System.out.println(driver.getTitle());driver.findElement(By.xpath(//input[@class='ember-view-ember”)。sendKeys(“XXXXXX”);无法键入文本框。任何人都可以检查,为什么它不适用于无头浏览器。我可以在通过“PhantunJS”驱动程序启动浏览器时为Mozilla browser执行它,但浏览器没有打开。我在屏幕截图中看到。-Vivek 8月30日11:02通过“PhantunJS”启动浏览器时驱动程序然后浏览器没有打开。我在屏幕截图中看到。但是当通过“HtmlUnitDriver()”启动时,我可以启动浏览器,但无法在用户名文本框中键入。因此,我尝试拍摄屏幕截图,但它抛出了以下错误消息。线程“main”中出现异常java.lang.ClassCastException:org.openqa.selenium.htmlunit.HtmlUnitDriver不能强制转换为org.openqa.selenium.TakesScreenshot
DesiredCapabilities dcap = new DesiredCapabilities();
String[] phantomArgs = new String[] {
    "--ssl-protocol=any",
    "--ignore-ssl-errors=true"
};

dcap.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, phantomArgs);

PhantomJSDriver driver = new PhantomJSDriver(dcap);