...

Source file src/github.com/playwright-community/playwright-go/examples/javascript/main.go

Documentation: github.com/playwright-community/playwright-go/examples/javascript

     1  //go:build ignore
     2  // +build ignore
     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  	// mw.config.values is the JS object where Wikipedia stores wiki metadata
    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  	// mw.config.values.wgPageName is the name of the current page
    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