#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