【问题标题】:Accept/Ignore SSL certificate in Chrome browser在 Chrome 浏览器中接受/忽略 SSL 证书
【发布时间】:2020-07-28 12:04:33
【问题描述】:

我在使用 Java 中的 ChromeOptions 类时遇到了这个问题。在我的代码中实现它时,它不包含我需要在 Chrome 浏览器中接受/忽略 SSL 证书的一些方法。像.setCapability 这样的方法,所以我可以传入它CapabilityType.ACCEPT_SSL_CERTS, true);

例子:

ChromeOptions options = new ChromeOptions();
options.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
options.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true);    

...setCapability 被 Eclipse 标记为错误,它说

The method setCapability(String, boolean) is undefined for the type ChromeOptions

【问题讨论】:

  • 确保你对Selenium框架有正确的依赖
  • 如何确保我使用的是正确的?你能给我解释一下吗?

标签: java selenium ssl chrome-options


【解决方案1】:

我无法在他的帖子中回答,但我认为 Nikolai 的建议是:

  • 你能检查你在这个类中有正确的导入吗? import org.openqa.selenium.remote.CapabilityType;
  • 您在 pom.xml 文件中使用的 Selenium 版本是什么?例如:
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.141.59</version>
        </dependency>

【讨论】:

  • Selenium 版本相同> 3.141.59.
  • OK,类开头的import是import org.openqa.selenium.remote.CapabilityType;或者import org.openqa.selenium.remote.*;
  • 是的,完全一样-> import org.openqa.selenium.remote.CapabilityType;我有点找出问题所在。 Chrome 80 以上版本似乎无法接受或忽略 SSL 证书-我仍然不知道原因,但我会降级 Chrome 并再次尝试接受它。
【解决方案2】:

使用 Robot 类来接受它。对我来说,每次我必须处理这种弹出窗口时它都有效。

    Robot r = new Robot();
    // use tab to move to desired button
    r.keyPress(KeyEvent.VK_TAB);
    r.keyRelease(KeyEvent.VK_TAB);

    //than use enter to click it
    r.keyPress(KeyEvent.VK_ENTER);
    r.keyRelease(KeyEvent.VK_ENTER);

【讨论】:

  • 不是弹窗,没有什么可以点击的。它应该接受/忽略 SSL 证书并自动继续。
猜你喜欢
  • 1970-01-01
  • 2016-08-24
  • 2014-07-07
  • 2014-09-23
  • 1970-01-01
  • 2018-05-04
  • 2023-03-31
  • 2016-02-18
  • 2021-01-19
相关资源
最近更新 更多