8000 GitHub - hupe1980/gowebdriver: W3C WebDriver Golang Client
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

hupe1980/gowebdriver

Repository files navigation

WebDriver client for Golang

Build Status Go Reference

Golang bindings that conform to the W3C WebDriver and W3C WebDriver BiDi standard for controlling web browsers.

How to use

chromeDriver, err := webdriver.NewChromeDriver("/path/to/chromedriver")
if err != nil {
	panic(err)
}

if err := chromeDriver.Start(); err != nil {
	panic(err)
}
defer chromeDriver.Stop()

session, err := chromeDriver.NewSession()
if err != nil {
	panic(err)
}
defer session.Close()

if err = session.NavigateTo("https://golang.org"); err != nil {
	panic(err)
}

Take Screenshots

data, err := session.TakeScreenshot()
if err != nil {
	panic(err)
}

if err := os.WriteFile("./screenshot.png", data, 0600); err != nil {
	panic(err)
}

BiDi Session

biDiSession, err := session.BiDiSession()
if err != nil {
	panic(err)
}

bc, err := biDiSession.NewBrowsingContext(bidi.BrowsingContextTypeWindow, nil)
if err != nil {
	panic(err)
}

defer bc.Close()

navigation, err := bc.Navigate("https://golang.org", bidi.BrowsingContextReadinessStateComplete)
if err != nil {
	panic(err)
}

Subscribe

biDiSession.OnLogEntryAdded(&bidi.OnLogEntryHandler{
	LogTypeConsoleHandlerFunc: func(entry *bidi.ConsoleLogEntry) error {
		fmt.Println(entry)
		return nil
	},
})

if err := biDiSession.Subscribe([]string{"log.entryAdded"}); err != nil {
	panic(err)
}

License

MIT

About

W3C WebDriver Golang Client

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  
0