Selenide動かしたとき、こんなエラーが出たので対応してみた。
org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 88
Current browser version is 87.0.4280.88 with binary path C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'DESKT*****', ip: '192.168.1.60', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.8'
Driver info: driver.version: SelenideDriver
状況
- chromedriverは88.*バージョンが動いている。
- Chromeは87.*バージョン
あれ?最新版だと言うてますが・・・
chromedriverを入れ替え
chromedriverどこや?
gradleを使ってselenideの構成を作ったので勝手にchromedriver入ってる。
gradleなので例のところにいるはず。
C:\Users\ユーザ名.m2\repository\webdriver\chromedriver\win32\88.0.4324.27\chromedriver.exe
やっぱりいた。
別のバージョンのchromedriverを取得
C:\Users\ユーザ名.m2\repository\webdriver\chromedriver\win32\87.0.4280.88\chromedriver.exe
ここに入れて動かしてみたけどダメだった。
ブラウザのバージョンに合わせて自動的にドライバーを呼び分けてはくれない模様。
※ちなみに元からあったバージョンをフォルダごと削除してもダメだった。
chromedriverの場所を指定
D:\tools\chromedriver_win32\87.0.4280.88\chromedriver.exe
サイトで入手したchromedriverをここに場所移動して
WebDriverの場所をコードで指定すると成功した。
SelenideTest.java
import static com.codeborne.selenide.Condition.*;
import static com.codeborne.selenide.Selenide.*;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
public class SelenideTest {
@Test
void testtest() {
// ここでWebDriverの場所を指定した
System.setProperty("webdriver.chrome.driver", "D:\\tools\\chromedriver_win32\\87.0.4280.88\\chromedriver.exe");
open("http://google.com");
$(By.name("q")).setValue("バナナ 大好き").pressEnter();
$("#result-stats").shouldHave(text("約 18,600,000 件"));
}
}
build.gradle
(省略)
dependencies {
(省略)
testCompile 'com.codeborne:selenide:5.16.2'
}