はじめに
golangとgolangのpackage agoutiを用いて Chrome のブラウザ操作を自動化する方法を記載する。
実装
- 任意のプロジェクトに agoutiをインストール
go get github.com/sclevine/agouti
2.Chrome用ドライバー chromeDriver をインストールしてPATHを設定
chromeDriverはプロジェクト直下に配置、PATHを通した。
PATHを通すのは以下の記事を参考
3.コードを実行
func main() {
driver := agouti.ChromeDriver(agouti.Browser("chrome"))
if err := driver.Start(); err != nil {
log.Fatalf("Failed to start driver:%v", err)
}
defer driver.Stop()
page, err := driver.NewPage()
if err != nil {
log.Fatalf("Failed to open page:%v", err)
}
if err := page.Navigate("開たいサイトのurl"); err != nil {
log.Fatalf("Failed to navigate:%v", err)
}
}
初回だと、「Chromedriverを開こうとしたら、chromedriverは開発元を検証できないため開けません」と表示される。
システム設定を開き、許可するを押下すると使用できるようになる。
注意点
画面がsleepモードだとChromedriverがうまく起動しないので、画面onかつロックがかかっていない状況でChromedriverを実行すること。
Chromeがアップデートしたら。Chromedriverもアップデートする必要がある。
以下からダウンロードする。
参考
https://sites.google.com/chromium.org/driver/downloads
https://note.com/shift_tech/n/nbf70b1953eec