исключение ввода-вывода.github.bonigarcia.wdm.WebDriverManagerException: chromedriver 88.0.4324.150 для WIN64 не найден в https://chromedriver.storage.googleapis.com/

#java #selenium #selenium-chromedriver #webdrivermanager-java

#java #селен #селен-chromedriver #webdrivermanager-java

Вопрос:

Похоже, что мой chromedriver не обновляется приведенным ниже кодом:

 
import io.github.bonigarcia.wdm.WebDriverManager;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import testone2.firstTest;

import java.io.*;

public class testLogin {

    protected WebDriver driver;
    private int seconds;

    public testLogin() {
        super();
    }

    @BeforeTest
    public void beforeTest() {
        //Download the web driver executable
        String chromeVersion = null;
        try {
            FileReader reader = new FileReader("chromeVersion.txt");
            BufferedReader br = new BufferedReader(reader);

            String line;

            while ((line = br.readLine()) != null) {
                chromeVersion = line.trim();
            }
            reader.close();
        } catch (IOException e) {
            Throwable ioException = new Throwable();
            ioException.printStackTrace();
        }

        WebDriverManager.chromedriver().version(chromeVersion).setup();
        boolean oldVersion = false;
        try {
            driver = new ChromeDriver();
        } catch (Exception e) {
            oldVersion = false;
            String err = e.getMessage();
            chromeVersion = err.split("version is")[1].split("with binary path")[0].trim();
            try {
                FileWriter writer = new FileWriter("chromeVersion.txt", true);
                writer.write(chromeVersion);
                writer.close();
            } catch (IOException er) {
            }
        }


        if (!oldVersion) {
            WebDriverManager.chromedriver().version(chromeVersion).setup();
            driver = new ChromeDriver();
        }

    }


    public void sleep(int seconds) {
        try {
            Thread.sleep(seconds * 1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

}
 

Chrome имеет версию 88.0.4324.182 (официальная сборка) (64-разрядная версия)
, а зависимость WebDriverManager равна 4.2.2

Это возвращается в консоль: io.github.bonigarcia.wdm.WebDriverManagerException: io.github.bonigarcia.wdm.WebDriverManagerException: chromedriver 88.0.4324.150 for WIN64 not found in https://chromedriver.storage.googleapis.com/

Кто-нибудь может указать, виноват ли код для чтения версии chromedriver? В чем здесь проблема? Спасибо

Комментарии:

1. Что в chromeVersion.txt ? Версий chromedriver_win64 не существует, существует только chromedriver_win32.

2. Это 88.0.4324.150

3. Как я могу заставить его загрузить _win32 вместо этого

4. @art_architect извините, пришлось пинговать

5. Я не получаю сообщение об ошибке… На моей стороне он просто запускает 2 хрома с вашим кодом… Вы пытаетесь использовать для сохранения старую версию chromedriver?

Ответ №1:

Решается путем установки chromeversion.txt до 88.0.4324.96