Selenium не может работать, потому что ему «не удалось согласовать TLS-соединение» - PullRequest
0 голосов
/ 26 мая 2020

Расширение Burp, которое я пишу. Оно не может запускать часть кода Selenium, когда прокси слушает. Он работает нормально, когда он выключен, но я даже не могу загрузить простую страницу (https://www.nytimes.com/), иначе на панели управления Burp отображается следующая ошибка: ** Клиенту не удалось согласовать TLS-соединение с a.et .nytimes.com: 443: Получено фатальное предупреждение: unknown_ca. *. Он не загружает страницу ни в Chrome, ни в Firefox. WebDrivers совместимы с используемым мной браузером. Код, который запускает моя кнопка, очень прост.

void runBrowserAutomatization(File fileDriver, String seleniumTrack, boolean isHeadless) {
        this.fileDriver = fileDriver;

        WebDriver driver;

        if (gui.usedBrowser().toLowerCase().contains("chrome")) {
            ChromeOptions options = new ChromeOptions();

            Proxy proxy = new Proxy();
            proxy.setAutodetect(false);
            proxy.setHttpProxy(PROXY_SOCKET); //localhost:8080
            proxy.setSslProxy(PROXY_SOCKET); //localhost:8080
            options.setCapability(CapabilityType.PROXY, proxy);

            options.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true);

            options.addArguments("--disable-gpu");
            options.addArguments("--no-sandbox");

            options.setHeadless(isHeadless);

            System.setProperty("webdriver.chrome.driver", fileDriver.getAbsolutePath());

            driver = new ChromeDriver(options);

        } else if (gui.usedBrowser().toLowerCase().contains("firefox")) {
            FirefoxOptions options = new FirefoxOptions();

            Proxy proxy = new Proxy();
            proxy.setAutodetect(false);
            proxy.setHttpProxy(PROXY_SOCKET); //localhost:8080
            proxy.setSslProxy(PROXY_SOCKET); //localhost:8080

            options.setCapability(CapabilityType.PROXY, proxy);
            options.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true);

            options.setHeadless(isHeadless);
            System.setProperty("webdriver.gecko.driver", fileDriver.getAbsolutePath());

            driver = new FirefoxDriver(options);

        } else {
            PrintMsg("No browser selected...");
            return;
        }

        driver.manage().timeouts().pageLoadTimeout(TIMEOUT_SEC, TimeUnit.SECONDS); //  10 seconds
        driver.manage().window().maximize();

        WebElement currentElement = null;
        try {

            driver.get("https://www.nytimes.com/");

        } catch (Exception e) {

            PrintMsg(e.getClass().getCanonicalName() + "\nError message: " + e.getMessage());
            driver.quit();

        }

        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            PrintMsg("InterrEx: " + e.getLocalizedMessage()) ;
        }

        driver.quit();

    }
...