page/page.go
func (p *NavigateParams) Do(ctx context.Context) (frameID cdp.FrameID, loaderID cdp.LoaderID, errorText string, err error) {
	// execute
	var res NavigateReturns
	err = cdp.Execute(ctx, CommandNavigate, p, &res)
	if err != nil {
		return "", "", "", err
	}

	return res.FrameID, res.LoaderID, res.ErrorText, nil
}
func (p *NavigateParams) Do(ctx context.Context) (frameID cdp.FrameID, loaderID cdp.LoaderID, errorText string, err error) {
	// execute
	var res NavigateReturns
	err = cdp.Execute(ctx, CommandNavigate, p, &res)
	if err != nil {
		return "", "", "", err
	}

	return res.FrameID, res.LoaderID, res.ErrorText, nil
}
// Do executes Page.navigate against the provided context.
//
// returns:
//   frameID - Frame id that has navigated (or failed to navigate)
//   loaderID - Loader identifier.
//   errorText - User friendly error message, present if and only if navigation has failed.