go言語 Seleniumを使ってchromeで任意のワードで検索をする
go言語でseleniumを使用して、プログラムからchromeを立ち上げて、指定したワードで検索するための簡単なサンプルコードです。 ここではgoのライブラリであるAgoutiを利用してます。
環境
- OS windows10 pro
- go 1.13.8
chromedriverダウンロード
まずは、chromeを利用するのに必要なドライバー「 chromedriver 」を、こちらよりダウンロードします。
※自分の場合はchromeのバージョンが79だったので79をダウンロードしてます。
chromedriver_win32.zipをクリックしてダウンロードします。
ダウンロードが終わったら、解凍してPATHを通すためのファルダを用意します。
※今回はC:\chromedriverにchromedriver.exeを移動させてPATHを通します
PATHも通しておきます。
Agoutiダウンロード
任意の作業用のフォルダに下記のコマンドでダウンロードします。
go get github.com/sclevine/agouti
Selenium使い方
下記のコードはchrome上で「mebee」というワードを検索するだけのプログラムとなります。
Agoutiをダウンロードしたフォルダに、下記のコードをtest.goという名前で保存します。
package main
import (
"fmt"
"os"
"github.com/sclevine/agouti"
)
func main() {
// chrome起動
driver := agouti.ChromeDriver(agouti.Browser("chrome"))
defer driver.Stop()
if err := driver.Start(); err != nil {
fmt.Fprintf(os.Stderr, "%s\n", err)
return
}
page, err := driver.NewPage()
if err != nil {
fmt.Fprintf(os.Stderr, "%s\n", err)
return
}
// googleにアクセス
if err := page.Navigate("https://www.google.com/"); err != nil {
fmt.Fprintf(os.Stderr, "%s\n", err)
return
}
// qというnameを持つ要素を取得する
q := page.FindByName("q")
// 検索文字列を入力
q.Fill("mebee")
// 検索を実行
if err := q.Submit(); err != nil {
fmt.Fprintf(os.Stderr, "%s\n", err)
return
}
}
実行します。
go run test.go
実行するとchromeが立ち上がり、「mebee」の検索結果が表示されます
-
前の記事
go言語 エラー「main redeclared in this block previous declaration at」が発生した場合の対処法 2020.03.19
-
次の記事
React.js ライブラリ「react-tag-input」を使用してタグの作成フォームを実装する 2020.03.20
コメントを書く