Windows、Kotlin、VSCodeでSelenium環境を作る

こんにちは、きむら @bokukimura です。

前回の記事では、Spring Bootの環境を作ることが出来たので、次はブラウザの自動実行を目指します。

seleniumのライブラリ追加

gradleの環境にseleniumライブラリを追加します。

build.gradle.kts

val selenium_version = “3.141.59"

dependencies {
compile (“org.seleniumhq.selenium:selenium-java:${selenium_version}")
}

ChromeDriverのインストール

ブラウザには、Chromeを使用する予定なので、ChromeDriverをインストールしておきます。

https://sites.google.com/a/chromium.org/chromedriver/downloads

使用しているChromeのバージョンは 79.0.3945.130 なので、
ChromeDriver 79.0.3945.36 をダウンロードします。

使用しているブラウザのバージョンとドライバのバージョンは会わせましょう。
違うバージョンの場合は動かない可能性があります。

OSに合わせてダウンロードをしてください。
僕はwindows環境なので、chromedriver_win32.zip をダウンロード

解凍して以下に格納しました。
C:\Program Files\chromedriver

seleniumでchromeを動かしてみる

seleniumでchromeを動かしてみようと思いソースコードを書いてみたんだけど、
エラーが。。。。

Task :bootRun FAILED
Exception in thread “main" java.lang.IllegalStateException: The driver executable does not exist: C:\work\kotlin\demo\C\work\kotlin\demo\exe\chromedriver.exe

いろいろと試してみたんだけど、

どうも、chromedriver.exeの指定をシステムプロパティで設定するんですが、chromedriver.exeのファイルパスがダメだったみたいです。

最初はcドライブからのフルパスで指定していたのですが、
ワークスペースからの相対パスになっているようでした。

そこで、ProgramFilesに入れていたchromedriverをワークスペース内に移動して、システムプロパティーで設定するファイルパスを変更したら、動きました。

それにしても、VSCodeでKotlinはコード補完が出ないので厳しい戦いですね。。。
うまく機能が動いて無いだけかもしれないけど。。

動作が確認できたソースコードを掲載しておきます

package com.example.demo

import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
import org.openqa.selenium.WebDriver
import org.openqa.selenium.chrome.ChromeDriver

@SpringBootApplication
class DemoApplication

fun main(args: Array) {
runApplication(*args)

//chrome driverの指定 System.setProperty(“webdriver.chrome.driver", “exe\\chromedriver.exe") val driver = ChromeDriver() driver.get(“https://www.yahoo.co.jp/") //driver.quit()

}