【问题标题】:selenium chrome driver select certificate popup confirmation in c#selenium chrome驱动程序在c#中选择证书弹出确认
【发布时间】:2021-10-07 23:15:06
【问题描述】:

我正在使用 selenium chrome webdriver 自动化测试。每当我启动该网站时,都会弹出一个证书选择弹出窗口,如下所示:

以下代码适用于 Java:

    try {

      driver.get(url);
     } catch (Exception e) {
          e.printStackTrace();
       }
    };

public void myfunction {
 try {

   Thread mthread = new Thread(mlauncher);
   mthread.start

  robot.keyPress(KeyEvent.VK_ENTER);
  robot.keyRelease(KeyEvent.VK_ENTER);

 } catch (Exception e) {
          e.printStackTrace();
       }

我还没有找到适用于 c# 的代码。

【问题讨论】:

  • "I have not found code that works in c#" 是什么意思?这个 SO 帖子有一些 Robot 类的替代品,也许它会帮助你 (*.com/questions/49511160/…)
  • 您要选择证书还是要取消/忽略弹出窗口
  • 我要选择一个证书并按OK
  • 你有没有解决这个问题?我有完全相同的问题,很难找到任何有用的建议。
  • 我找到了解决方案 - 使用 AutoIt.AutoItX 库喜欢:AutoIt.AutoItX.Send("{TAB}", 0); AutoIt.AutoItX.Send(url, 10); AutoIt.AutoItX.Send("{ENTER}", 0);

标签: selenium selenium-webdriver


【解决方案1】:

我尝试使用您的解决方案,我使用 AutoIt.AutoItX 库并使用它来选择证书,但我遇到了问题。

当我点击登录按钮时,它会在弹出窗口中显示选择 ssl 证书的可能性。

自动测试的执行停止,并等待选择证书。 当我手动选择证书时,我的自动测试会继续执行,该部分应该在 AutoIt.AutoItX 中自动选择证书。

它应该自动继续而不停止,AutoIt.AutoItX 部分不应该被搁置,而应该用于选择证书。

{
welcomePage.LogIn.Click();

AutoIt.AutoItX.Send("{TAB}", 0);             
AutoIt.AutoItX.Send(url, 10);             
AutoIt.AutoItX.Send("{ENTER}", 0);
}

【讨论】: