Ваше соединение не является частным при использовании chrome 80 и chromedriver v80 - PullRequest
1 голос
/ 11 февраля 2020

Я использовал chrome 79, все было хорошо ... Но после обновления до chrome версии 80 мой скрипт Selenium просто игнорирует аргументы моих возможностей, я использовал только следующий аргумент (аргументы) для возможностей безопасности, и это было прекрасно "--ignore-certificate-errors".

Я не смог найти ничего в inte rnet, уже пытался использовать другие аргументы, такие как "--disable-web-security", также пытался запустить скрипт на моей локальной машине (localhost) со следующим аргументом "--allow-insecure-localhost" и все равно не работает ...

Пожалуйста, дайте мне знать, если что-то мне не хватает, большое спасибо всем!

Ответы [ 3 ]

0 голосов
/ 23 марта 2020

Я столкнулся с подобной проблемой, и сначала я попытался использовать требуемые возможности Accept_SSL_ Certs, но это не сработало, поэтому я справился с этим, используя следующий код

Класс страницы-> Локатор страниц частного подключения и код

@FindBy(css = "body#body.ssl")
private WebElement ssl_Body;

@FindBy(xpath = "//button[@id='details-button']")
private WebElement btn_Advance;

@FindBy(xpath = "//a[@id='proceed-link']")
private WebElement btn_Proceed;

publi c void handlePrivateConnecion () {

    if(isElementPresent(ssl_Body)){
        wait.until(ExpectedConditions.elementToBeClickable(btn_Advance)).click();
        wait.until(ExpectedConditions.elementToBeClickable(btn_Proceed)).click();
        logger.info("Private connection handled.");
    }else {
        logger.info("Private connection page not displayed.");
    }
}

private Boolean isElementPresent(WebElement element) {

    driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
    try {
        element.isDisplayed();
        return true;
    } catch (NoSuchElementException e) {
        return false;
    } finally {
        driver.manage().timeouts().implicitlyWait(TestUtils.WAIT_FOR_ELEMENT, TimeUnit.SECONDS);
    }
}
0 голосов
/ 17 апреля 2020

Я недавно нашел то же самое, и единственный способ решить эту проблему - установить флаг acceptInsecureCerts. Теперь, кажется, работает нормально.

0 голосов
/ 11 февраля 2020

Если вы обновили Chrome до версии 80, то обновите и Chromedriver. Получить версию chromedriver 80 здесь

Правило generic c соответствует вашему Chrome, и версии Chromedriver должны быть выровнены - "ChromeDriver использует ту же схему номеров версий, что и Chrome . ", как задокументировано здесь , а также шаги по выбору правильной версии Chromedriver.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...