-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathagouti.go
More file actions
56 lines (45 loc) · 1.34 KB
/
agouti.go
File metadata and controls
56 lines (45 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package main
import (
"github.com/sclevine/agouti"
"fmt"
"log"
)
// http://todomvc.com/examples/react/
func main() {
// driver := agouti.ChromeDriver()
driver := agouti.ChromeDriver(
agouti.ChromeOptions("args", []string{"--headless", "--disable-gpu", "--no-sandbox"}),
)
if err := driver.Start(); err != nil {
log.Fatal("Failed to start driver:", err)
}
page, err := driver.NewPage()
if err != nil {
log.Fatal("Failed to open page:", err)
}
if err := page.Navigate("http://100.25.36.252/"); err != nil {
log.Fatal("Failed to navigate:", err)
}
// // Click Link
// if err := page.FindByXPath(`//*[@id="nav-main"]/li[10]/a`).Click(); err != nil {
// log.Fatal("Failed to click:", err)
// }
// Input username
input := page.FindByXPath(`//*[@id="todo-form"]/div/form/div/input`)
log.Println(input)
if err := input.Fill("Chrome Robots naja"); err != nil {
log.Fatal("Input username:", err)
}
// // input password
// if err := page.FindByXPath(`//*[@id="password"]`).Fill("Stop1234"); err != nil {
// log.Fatal("Input password:", err)
// }
// click submit
if err := page.FindByButton(`Add`).Click(); err != nil {
log.Fatal("Add:", err)
}
fmt.Println("Flow success")
// if err := driver.Stop(); err != nil {
// log.Fatal("Failed to close pages and stop WebDriver:", err)
// }
}