前回の続きで、seleniumでグーグル検索した後、検索フォームにseleniumuと入力してボタンを押してみる。
下記のコードを入力する。
package main import ( "log" "github.com/sclevine/agouti" ) func main() { driver := agouti.ChromeDriver() err := driver.Start() if err != nil { log.Fatal(err) } page, err := driver.NewPage(agouti.Browser("chrome")) err = page.Navigate("https://google.com") if err != nil { log.Fatal(err) } searchform := page.FindByID("lst-ib") err = searchform.Fill("selenium") if err != nil { log.Fatal(err) } btn := page.FindByButton("Google 検索") err = btn.Submit() if err != nil { log.Fatal(err) } }
グーグルの検索ページを開発者モード(crt+shift+i)で見てみる。
グーグル検索のフォームにフォーカスをあてると、上記のように色がつく。この色がついた部分がグーグル検索のフォームのコードになる。このコードの中で、idの部分を探す(青く色がついた部分)。このidをコピーして、 searchform := page.FindByID("lst-ib")のように入力すると、lst-ibがついている部分を探して、ドキュメント構造体であるsearchformを作成する。
err = searchform.Fill("selenium")でグーグル検索のフォームにseleniumを入力する。
btn := page.FindByButton("Google 検索")でGoogle検索のボタンの箇所のコードを調べて、err = btn.Submit()でボタンを押すと下記のように表示される。
各メソッドは下記のページを参考にした