diff --git a/chromedp.go b/chromedp.go index fe12985..38c0698 100644 --- a/chromedp.go +++ b/chromedp.go @@ -85,7 +85,6 @@ func New(ctxt context.Context, opts ...Option) (*CDP, error) { // TODO: fix this timeout := time.After(defaultNewTargetTimeout) -loop: // wait until at least one target active for { select { @@ -104,11 +103,9 @@ loop: return nil, ctxt.Err() case <-timeout: - break loop + return nil, errors.New("timeout waiting for initial target") } } - - return nil, errors.New("timeout waiting for initial target") } // AddTarget adds a target using the supplied context. @@ -243,7 +240,6 @@ func (c *CDP) newTarget(ctxt context.Context, opts ...client.Option) (string, er timeout := time.After(DefaultNewTargetTimeout) -loop: for { select { default: @@ -262,11 +258,9 @@ loop: return "", ctxt.Err() case <-timeout: - break loop + return "", errors.New("timeout waiting for new target to be available") } } - - return "", errors.New("timeout waiting for new target to be available") } // SetTarget is an action that sets the active Chrome handler to the specified diff --git a/handler.go b/handler.go index 39ded67..0b696ca 100644 --- a/handler.go +++ b/handler.go @@ -397,7 +397,6 @@ func (h *TargetHandler) next() int64 { func (h *TargetHandler) GetRoot(ctxt context.Context) (*cdp.Node, error) { var root *cdp.Node -loop: for { var cur *cdp.Frame select { @@ -412,7 +411,7 @@ loop: h.RUnlock() if cur != nil && root != nil { - break loop + return root, nil } time.Sleep(DefaultCheckDuration) @@ -421,8 +420,6 @@ loop: return nil, ctxt.Err() } } - - return root, nil } // SetActive sets the currently active frame after a successful navigation. @@ -448,7 +445,6 @@ func (h *TargetHandler) WaitFrame(ctxt context.Context, id cdp.FrameID) (*cdp.Fr // TODO: fix this timeout := time.After(10 * time.Second) -loop: for { select { default: @@ -473,11 +469,9 @@ loop: return nil, ctxt.Err() case <-timeout: - break loop + return nil, fmt.Errorf("timeout waiting for frame `%s`", id) } } - - return nil, fmt.Errorf("timeout waiting for frame `%s`", id) } // WaitNode waits for a node to be loaded using the provided context. @@ -485,7 +479,6 @@ func (h *TargetHandler) WaitNode(ctxt context.Context, f *cdp.Frame, id cdp.Node // TODO: fix this timeout := time.After(10 * time.Second) -loop: for { select { default: @@ -506,11 +499,9 @@ loop: return nil, ctxt.Err() case <-timeout: - break loop + return nil, fmt.Errorf("timeout waiting for node `%d`", id) } } - - return nil, fmt.Errorf("timeout waiting for node `%d`", id) } // pageEvent handles incoming page events.