【Go 언어】Agouti로 Google Chrome을 자동으로 조작하기

4567 단어 5자동화agouti

사전 준비



Agouti 설치



다음 명령으로 Agouti를 설치합니다.
$ go get github.com/sclevine/agouti

Chrome Driver 설치



그런 다음 자동으로 조작한 브라우저에 해당하는 WebDriver를 설치합니다.
이번에는 Google 크롬을 사용하고 싶으므로 아래 명령으로 Google 크롬의 웹 드라이브 (chromedriver)를 설치합니다.
$ brew install chromedriver

Google 크롬 버전으로 잘 작동하지 않는 경우 크롬 버전을 확인하고 아래 사이트에서 드라이버를 다운로드하십시오.

자동 조작



사전 준비가 완료되면 브라우저를 자동 조작하는 코드를 작성합니다.
이번에는

Go 언어의 공식 페이지를 열고 Documents까지의 전환 움직임을 자동화해 봅니다.

이하, 자동 조작을 위한 코드입니다.
각각의 코드의 의미는 코멘트 아웃으로 기술하고 있습니다.

main.go
package main

import (
    "log"

    "github.com/sclevine/agouti"
)

func main() {
    //ChromeDriverを使用するための記述
    driver := agouti.ChromeDriver()

    //WebDriverプロセスを開始する
    err := driver.Start()
    if err != nil {
        log.Fatal(err)
    }

    //WebDriverプロセスを停止する(main関数の最後で停止したいのでdeferで処理)
    defer driver.Stop()
    if err != nil {
        log.Fatal(err)
    }

    //NewPage()でDriverに対応したページを返す。(今回はChrome)
    page, err := driver.NewPage()

    //Navigate()の引数にURLを渡し、ページの遷移を行う
    err = page.Navigate("https://golang.org/")

    //Screenshot()で開いているページのスクリーンショットを撮る。保存名は引数で指定。(保存場所も相対パスor絶対パスで指定可能)
    page.Screenshot("Go言語公式HP.png")

    if err != nil {
        log.Fatal(err)
    }

    //FindByLink() で引数に指定したaタグのテキストを検索し、Click()でクリックする
    page.FindByLink("Documents").Click()

    //上記のScreenshot()と同様の動き
    page.Screenshot("Go言語Documents.png")

}

아래는 page.Screenshot()로 촬영한 스크린샷입니다.

Go 언어 공식 HP.png


Go 언어Documents.png

좋은 웹페이지 즐겨찾기