【问题标题】:How to handle the SSL certificate of Edge browser via browsermob-proxy in selenium如何通过selenium中的browsermob-proxy处理Edge浏览器的SSL证书
【发布时间】:2020-06-05 12:41:37
【问题描述】:

我想在所有浏览器上自动化 Web 应用程序。我的代码在 chrome、firefox 上运行良好,但是当我在 Edge 上尝试时,它显示 ssl 证书错误。 我怎么能处理这个。尝试了很多解决方法,但未能实现。

if((browser.equalsIgnoreCase("Edge"))){

            //browserName = "";
            browser = "Edge";

            //set path to Edge.exe
            System.setProperty("webdriver.edge.driver","C:\\edgedriver.exe");
            if(enableProxy == true) {
                proxy = new ProxyServer();
                proxy.setTrustAllServers(true); 

                proxy.start();
                System.out.println( proxy.getPort());
                Proxy seleniumProxy = new Proxy();
                EdgeOptions options = new EdgeOptions();
                String hostIp = Inet4Address.getLocalHost().getHostAddress();
                seleniumProxy.setHttpProxy(hostIp + ":" + proxy.getPort());
                seleniumProxy.setSslProxy(hostIp + ":" + proxy.getPort());

                seleniumProxy = ClientUtil.createSeleniumProxy(proxy);
                options.setProxy(seleniumProxy);
                options.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);

// DesiredCapabilities 能力 = new DesiredCapabilities(); // capabilities.setCapability(CapabilityType.PROXY, proxy);

                proxy.enableHarCaptureTypes(CaptureType.REQUEST_CONTENT, CaptureType.RESPONSE_CONTENT);

                proxy.newHar();
                driver = new EdgeDriver(EdgeDriverService.createDefaultService(),options);


                //driver = new EdgeDriver(capabilities);
                driver.manage().window().maximize();
            }else {

                //create Edge instance
                driver = new EdgeDriver();
                driver.manage().window().maximize();
            }
        }

【问题讨论】:

    标签: java selenium-webdriver browsermob-proxy


    【解决方案1】:

    您可以在DesiredCapabilities 中将ACCEPT_SSL_CERTS 设置为true:

    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
    
    System.setProperty("webdriver.edge.driver", "C://EdgeDriver.exe");
    WebDriver driver = new EdgeDriver(capabilities);
    

    【讨论】:

    • @Mustahsan:请检查我的代码并建议是否需要设置更多功能
    猜你喜欢
    • 2012-06-19
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    相关资源
    最近更新 更多