KotlinでSeleniumを使ってChromeを操作する

SBI証券の入出金履歴を手軽に取りたいと思いつき、Kotlinプログラムからブラウザ操作を試した。結果から言うと、SBI証券の入出金履歴は手動で取ることにしました。なので、ほんの触りのところだけをやりました。

環境

$ sw_vers
ProductName:    macOS
ProductVersion: 11.3.1
BuildVersion:   20E241

$ /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome -version
Google Chrome 92.0.4515.131

やり方

Chrome Driverを落としてきてプロジェクトの中に入れる。version 92.0.4515.107をダウンロード。 Downloads - ChromeDriver - WebDriver for Chrome

build.gradle.ktsに以下のように書いて、依存関係を追加。

implementation("org.seleniumhq.selenium:selenium-java:3.141.59")

プログラムはこんな感じ。

System.setProperty("webdriver.chrome.driver", "./driver/chromedriver")
val driver = ChromeDriver()
driver.get("https://www.yahoo.co.jp/")
runBlocking {
    delay(5000L)
}
driver.quit()

プログラムを実行するとChromeが立ち上がって、Yahooのページが表示されます。5秒後にブラウザが閉じられます。

プログラム全体はGitHubにある。
example/selenium/kotlin-selenium at master · eiKatou/example · GitHub

SBI証券の入出金履歴について

SBI証券はログイン後に重要事項の確認画面が出てくることがある。それの対応をする手間がめんどくさいと思ったため。月1回はログインしているので、そのついでに入出金履歴をダウンロードすればいい。ということに気がついて、やっぱり手動でダウンロードすることにした。

ブラウザの自動化はいつか役に立つ気がするので、ブログに残しておく。

投稿日 2021年08月09日