...
1
2
3
4 package main
5
6 import (
7 "fmt"
8 "log"
9
10 "github.com/playwright-community/playwright-go"
11 )
12
13 func main() {
14 pw, err := playwright.Run()
15 if err != nil {
16 log.Fatal(err)
17 }
18 browser, err := pw.Chromium.Launch()
19 if err != nil {
20 log.Fatalf("could not launch browser: %v\n", err)
21 }
22 page, err := browser.NewPage()
23 if err != nil {
24 log.Fatalf("could not create page: %v\n", err)
25 }
26 if _, err = page.Goto("https://en.wikipedia.org/wiki/JavaScript"); err != nil {
27 log.Fatalf("could not goto: %v\n", err)
28 }
29
30 handle, err := page.EvaluateHandle("mw.config.values", struct{}{})
31 if err != nil {
32 log.Fatalf("could not acquire JSHandle: %v\n", err)
33 }
34
35 pageName, err := handle.(playwright.JSHandle).GetProperty("wgPageName")
36 if err != nil {
37 log.Fatalf("could not get Wikipedia page name: %v\n", err)
38 }
39
40 fmt.Printf("Lots of type casting, brought to you by %s\n", pageName)
41
42 if err := browser.Close(); err != nil {
43 log.Fatalf("could not close browser: %v\n", err)
44 }
45 if err := pw.Stop(); err != nil {
46 log.Fatalf("could not stop Playwright: %v\n", err)
47 }
48
49 }
50
View as plain text