package main
import (
"log"
"github.com/sclevine/agouti"
)
func main() {
driver := agouti.ChromeDriver(
agouti.ChromeOptions("args", []string{
"--headless",
}),
agouti.Debug,
)
if err := driver.Start(); err != nil {
log.Fatal(err)
}
defer driver.Stop()
page, err := driver.NewPage()
if err != nil {
log.Fatal(err)
}
if err := page.Navigate("https://example.com/redmine/login"); err != nil {
log.Fatalf("Failed to navigate:%v", err)
}
identity := page.FindByID("username")
password := page.FindByID("password")
identity.Fill("username")
password.Fill("password")
if err := page.FindByXPath("//input[@type='submit']").Click(); err != nil {
log.Fatalf("Failed to :%v", err)
}
page.Navigate("https://example.com/redmine/my/page")
var width, height int
page.RunScript("return document.body.scrollWidth;", nil, &width)
page.RunScript("return document.body.scrollHeight;", nil, &height)
page.Size(width, height)
page.Screenshot("Screen.png")
}