我正在使用selenium chromewebdriver 3.7进行自动化测试。每当我启动该网站时,我都会看到一个证书选择弹出窗口,如下面的
但是我无法点击OK按钮。这些是我尝试过的选项
//I have tried getWindowHandle like this
String handle= driver.getWindowHandle();
this.driver.switchTo().window(handle);
//I have alos tried switching and accept
driver.switchTo().alert().accept();
//I have also tried to force the enter key like this
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
// I also tried this way
Scanner keyboard = new Scanner(System.in);
keyboard.nextLine();
我所有的尝试都失败了。如何在此弹出窗口中单击“确定”?这是我找到的最接近的解决方案,但不起作用Link here
5条答案
按热度按时间wooyq4lh1#
我在接受使用签名证书的警告时也遇到了问题。@eskoba的解决方案非常有效。函数不是最终的,因为我让回车键按了10次。我做了这个,因为webdriver需要很长时间才能真正调用url。与此同时,他已经开始施压了。
Python中:
n53p2ov02#
如果仍然是实际的,我在Mac上遇到了同样的问题,解决方案很简单:
AutoSelectCertificateForUrls
策略是这样的:然后在代码中使用它,如python中的
subprocess.call()
zi8p0yeb3#
我遇到了同样的问题,我能够通过使用机器人解决它,为URL创建函数并将其传递到不同的线程。
1dkrff034#
一个建议是,使用Sikuli单击证书中的OK按钮。
步骤:
1.对“确定”按钮进行截图并保存。
1.下载sikuli-script.jar并将其添加到Project的Build路径。
1.截取要单击的UI元素的屏幕截图并将其保存在本地。
1.将以下代码添加到测试用例中。
Screen s=new Screen(); s.click(“image name”);
Sikuli提供的其他函数可以在here中找到。
ryevplcw5#
您还可以跳过证书丢失、无效或自签名时的提示。
您需要在
DesiredCapabilities
中设置acceptInsecureCerts
,并在创建驱动程序示例时传递它。在Python中: