【问题标题】:How to handle on Selenium Chromedriver to select certificate popup confirmation?如何在 Selenium Chromedriver 上处理选择证书弹出确认?
【发布时间】:2021-10-13 16:50:30
【问题描述】:

*如何在 Selenium Chromedriver 上处理选择证书弹出确认?我正在使用 selenium chromewebdriver 94 进行自动化测试。每当我启动网站时,我都会得到一个证书选择弹出窗口,如下所示。

详细信息:我在没有管理员权限的情况下这样做,所以我不能只在“Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\AutoSelectCertificateForUrls”上注册一个键来忽略它。*

select certificate screenshot

我已经尝试过了,但没有成功:

case "chrome":
    System.setProperty("webdriver.chrome.driver", WebDriverFactory.getChromeDriverBinary());
    ChromeOptions chromeoptions = new ChromeOptions();
    chromeoptions.setExperimentalOption("useAutomationExtension", false);
    chromeoptions.addArguments("--ignore-certificate-errors");
    chromeoptions.addArguments("start-maximized");

    chromeoptions.addArguments("--ignore-ssl-errors=yes");
    chromeoptions.addArguments("disable-popup-blocking");
    chromeoptions.addArguments("disable-infobars");
    chromeoptions.addArguments("--incognito");
    chromeoptions.addArguments("--no-sandbox");

    DesiredCapabilities dcChrome = DesiredCapabilities.chrome();
    dcChrome.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true);
    dcChrome.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
    dcChrome.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true);

    return new ChromeDriver(chromeoptions);

即使我尝试了 Chrome Headless,它也无法正常工作。 有人可以帮忙吗?

【问题讨论】:

  • 不确定是否仍然有效,我几年前就实现了。创建手动新镀铬配置文件。导入所需的证书文件并设置为始终使用导入的证书文件。最后使用特定配置文件启动 selenium。
  • 我会试试那个,谢谢你的提示!

标签: java selenium selenium-webdriver selenium-chromedriver certificate


【解决方案1】:

Selenium 无法自动选择框中的证书,因为此弹出窗口来自 Windows。 对不起其他awser,但没有看到细节。 因此,在您的情况下,您可能想尝试FlaUI 之类的方法,它可以帮助您将鼠标光标移动到弹出窗口中的 OK 按钮。 在我这个时代,我们使用它,但是当您注销服务器或让计算机休眠时,FlaUI 停止工作,因为 Windows 关闭了鼠标 API。 因此,对于此解决方案,您需要让您的计算机在进程结束时使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-05
    • 1970-01-01
    • 2013-02-04
    • 1970-01-01
    • 2023-02-09
    • 2014-08-21
    • 2015-09-21
    相关资源
    最近更新 更多