使用Selenium C#在IE中进行SSL证书处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Selenium C#在IE中进行SSL证书处理相关的知识,希望对你有一定的参考价值。

我需要帮助在IE浏览器中使用selenium和C#处理SSL证书。我已经尝试了一些选项,但没有成功。

第一种方法

private static InternetExplorerOptions IeSettings()
        
            var options = new InternetExplorerOptions();
            options.AddAdditionalCapability(CapabilityType.AcceptSslCertificates, true);
            options.AddAdditionalCapability(CapabilityType.AcceptInsecureCertificates, true);
            options.IgnoreZoomLevel = true;
            options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
            return options;
        

        public static IWebDriver ieDriver = new InternetExplorerDriver(IeSettings());

使用此设置,我打开页面,我看到:页面不安全警告和抛出的错误是:

目前关注窗口已关闭.OpenQA.Selenium.NoSuchWindowException:当前关注窗口已关闭。

我试着在那里添加Driver.SwitchTo()。Window(Driver.WindowHandles [0]);但是存在相同的错误。

第二次尝试

我尝试点击页面并发出警告。如果页面已打开,请单击显示更多,等待继续按钮然后单击它(页面对象在其他类中定义)

public void AcceptCertificate()
        
            Driver.Navigate().GoToUrl("page");

            if (SSLpageTitle.Displayed)
            
                SSLpageMoreInfoButton.Click();
                Driver.Wait.Until(x => SSLButtonGoToPage.Displayed);
                SSLButtonGoToPage.Click();
            
        

不幸的是,我收到了错误:

结果消息:无法找到带有css选择器的元素== [id ='invalidcert_mainTitle']

我尝试了不同类型的CCS选择器,它们都没有工作。我使用硒的形式的IE表示非常糟糕,而且它变得越来越糟糕!

任何想法如何通过?

答案

目前关注窗口已关闭.OpenQA.Selenium.NoSuchWindowException:当前关注窗口已关闭。

请检查Required Configuration,并确保您已配置它们。

结果消息:无法找到带有css选择器的元素== [id ='invalidcert_mainTitle']

你可以检查this thread

rg.openqa.selenium.NoSuchElementException通常称为NoSuchElementException,它扩展了org.openqa.selenium.NotFoundException,这是一种WebDriverException。

可以在以下两种情况下抛出NoSuchElementException:

  1. 使用WebDriver.findElement(By by)时: //示例:WebElement my_element = driver.findElement(By.xpath(“// my_xpath”));
  2. 使用WebElement.findElement(By by)时: //示例:WebElement my_element = element.findElement(By.xpath(“// my_xpath”));

以上是关于使用Selenium C#在IE中进行SSL证书处理的主要内容,如果未能解决你的问题,请参考以下文章

如果从服务器维护者处更新 SSL/TLS CA 证书,它将如何在我的设备中更新?

如何通过java程序来加载客户端证书进行ssl连接?

仅适用于 IE 用户的 SSL 证书错误

如何正确选则SSL证书——技术层面

Docker&Nginx-设置SSL

为什么Windows XP无法处理更新的SSL证书版本?