Open
Description
Rod Version: v0.116.2
OS: Ubuntu 24.04
Chromium version: 131.0.6778.264-r0
Go version: 1.23.3
Rod does not create a new page nor does it report an error. My whole program gets stuck after calling the *rod.Browser.Page
method.
Function creating the browser:
// browserWrapper is an abstraction over the rod launcher and browser types.
type browserWrapper struct {
browser *rod.Browser
launcher *launcher.Launcher
}
// newBrowserWrapper creates an instance of *browserWrapper and launches a new browser.
// The environment is checked for a 'BROWSER' variable with a path to a supported browser. If not found, rod
// downloads a browser and takes over.
func newBrowserWrapper(headless bool) (*browserWrapper, error) {
wrapper := new(browserWrapper)
if browserPath, ok := os.LookupEnv("BROWSER"); ok {
wrapper.launcher = launcher.New().Bin(browserPath)
} else {
wrapper.launcher = launcher.New()
}
wrapper.launcher = wrapper.launcher.Headless(headless)
controlURL, err := wrapper.launcher.Launch()
if err != nil {
return nil, err
}
wrapper.browser = rod.New().ControlURL(controlURL)
err = wrapper.browser.Connect()
return wrapper, err
}
This is how a new page is provisioned:
func LoginFunc(wrapper *browserWrapper) error {
// program gets stuck at this function call.
page, err := wrapper.browser.Page(proto.TargetCreateTarget{})
if err != nil {
return err
}
return nil
}
Metadata
Metadata
Assignees
Labels
No labels
Activity