phantomJS + agouti(golang)でブラウザ操作自動化 事始め

思うところがあり今日はブラウザ操作の自動化を行っていた

丁度golangを勉強中ということもあり、phantomJS + agoutiの組み合わせでやってみた(別にgoでやる必要はありませんが..)

環境

centos6

go version go1.8.3 linux/amd64

phantomjs 2.1.1

インストール等

Agoutiの手順通りにインストールすればOK Agouti

phantomjsはcentosであれば↓のページのように簡単にインストールできる qiita.com

サンプル

すごく眠たいので、googleを1280*720解像度でキャプチャするだけ

package main

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

func main() {
    driver := agouti.PhantomJS()
    if err := driver.Start(); err != nil {
        log.Fatalf("error:%v", err)
    }
    defer driver.Stop()

    page, err := driver.NewPage(agouti.Browser("phantomjs"))
    if err != nil {
        log.Fatalf("error:%v", err)
    }
    page.Size(1280, 720)

    if err := page.Navigate("https://google.com"); err != nil {
        log.Fatalf("error:%v", err)
    }

    page.Screenshot("./google.jpg")
}

google.goとかそんな名前で保存して go run google.go とすると、フォルダにgoogle.jpgができあがる

何かに使っていこう