Skip to main content

Go (chromedp)

Browserless supports the chromedp Go library in beta. The usage mirrors a local setup: use the RemoteAllocator to connect to the Browserless API instead of a local browser.

Basic Usage

The example below navigates to example.com and retrieves the page title:

package main

import (
"context"
"flag"
"log"

"github.com/chromedp/chromedp"
)

func main() {
devtoolsWsURL := flag.String("devtools-ws-url", "wss://production-sfo.browserless.io?token=YOUR_API_TOKEN_HERE", "DevTools WebSsocket URL")
flag.Parse()

allocatorContext, cancel := chromedp.NewRemoteAllocator(context.Background(), *devtoolsWsURL,chromedp.NoModifyURL)
defer cancel()

ctx, cancel := chromedp.NewContext(allocatorContext)
defer cancel()

var title string
if err := chromedp.Run(ctx,
chromedp.Navigate("https://example.com"),
chromedp.Title(&title),
); err != nil {
log.Fatalf("Failed getting title of example.com: %v", err)
}

log.Println("Got title of:", title)
}