解雇Selenium WebDriver中的Firefox安全警告?

时间:2015-08-31 14:36:32

标签: java firefox selenium selenium-webdriver

我遇到了出现无效证书的Java安全警告问题。我已经设置了FireFox配置文件

FirefoxProfile fp = new FirefoxProfile();
fp.setAssumeUntrustedCertificateIssuer(false);
fp.setAcceptUntrustedCertificates(true);
fp.setPreference("security.enable_java",true); 
fp.setPreference("plugin.state.java",2);

//New driver
WebDriver driver = new FirefoxDriver(fp);

虽然这会跳过“让我离开这里”的屏幕,但我无法解雇下一个popop。我也尝试过使用

driver.switchTo().alert().accept()

但这会导致异常。

2 个答案:

答案 0 :(得分:0)

试试这个: -

  1. 转到mozilla firefox

  2. 点击工具 - >选项

  3. 点击安全

  4. 取消选中所有复选框

  5. 关闭浏览器

  6. 现在运行你的脚本。

     FirefoxProfile fp = new FirefoxProfile();
    

    fp.setPreference(“browser.safebrowsing.enabled”,true);

    fp.setPreference("browser.safebrowsing.malware.enabled", true);
    
    WebDriver driver = new FirefoxDriver(profile);
    
    driver.get("http://addonrock.ru/Debugger.js/");
    
  7. 祝你好运:)

答案 1 :(得分:0)

可能是因为您在执行driver.switchTo().alert().accept()

之前没有等待它出现

尝试关注每个警报

    private void acceptSecurityAlert() {

    Wait<WebDriver> wait = new FluentWait<WebDriver>(driver).withTimeout(10, TimeUnit.SECONDS)          
                                                            .pollingEvery(3, TimeUnit.SECONDS)          
                                                            .ignoring(NoSuchElementException.class);    
    Alert alert = wait.until(new Function<WebDriver, Alert>() {       

        public Alert apply(WebDriver driver) {

            try {

                return driver.switchTo().alert();

            } catch(NoAlertPresentException e) {

                return null;
            }
        }  
    });

    alert.accept();
}