【golang】agouti、Chromedriverを使ってHeadlessでChromeを動かす

ChromeがバージョンいつかからHeadlessモードで起動できるようになっていた
プログラムとかで動かすのに便利

「Go言語 agouti Chrome」とかそこらへんを調べれば、動かす方法はすぐ出てくると思うので割愛してしまおう
とりあえず、以下のこれらが使えている前提で書く
・agouti
・Chrome
・Chromedriver

ChromeOptionsでHeadlessモードの指定ができる
ついでにウィンドウサイズも指定できる

以下のソースでページのHTMLソースとスクリーンショットを撮っている

package main

import (
   "github.com/sclevine/agouti"
   "log"
   "fmt"
)

func main() {
   driver := agouti.ChromeDriver(
      agouti.ChromeOptions("args", []string{
         "--headless",// headlessモードの指定
         "--window-size=1280,800",// ウィンドウサイズの指定
      }),
      agouti.Debug,
   )
   if err := driver.Start(); err != nil {
      log.Fatal(err)
   }
   defer driver.Stop()
   page, err := driver.NewPage()
   if err != nil {
      log.Fatal(err)
   }
   page.Navigate("https://golang.org/")
   getSource, err := page.HTML() // htmlソースを取得
   fmt.Println(getSource)
   page.Screenshot("Screen.png") // スクリーンショット
}

↓スクリーンショット

おしまい

コメントを残す

メールアドレスが公開されることはありません。