JuliusBrussee/caveman · error

element not actionable: last box=%+v

Error message

element not actionable: last box=%+v

What it means

Error "element not actionable: last box=%+v" thrown in JuliusBrussee/caveman.

Source

Thrown at browse/cdp.go:284

			}
			x2, y2, w2, h2, err2 := d.box(ctx, target)
			stable := err2 == nil && math.Abs(x-x2) < 0.5 && math.Abs(y-y2) < 0.5 && math.Abs(w-w2) < 0.5 && math.Abs(h-h2) < 0.5
			if stable {
				visible, err := d.visible(ctx, target)
				if err == nil && visible {
					enabled, err := d.enabled(ctx, target)
					if err == nil && enabled {
						ok, err := d.receivesEvents(ctx, target, x2, y2)
						if err == nil && ok {
							return x2, y2, nil
						}
					}
				}
			}
			last = boxPoint{x: x2, y: y2, w: w2, h: h2}
		}
		if time.Now().After(deadline) {
			return 0, 0, fmt.Errorf("element not actionable: last box=%+v", last)
		}
		select {
		case <-ctx.Done():
			return 0, 0, ctx.Err()
		case <-time.After(100 * time.Millisecond):
		}
	}
}

type boxPoint struct {
	x float64
	y float64
	w float64
	h float64
}

func (d *CDPDriver) box(ctx context.Context, target Target) (float64, float64, float64, float64, error) {
	if target.BackendDOMNodeID <= 0 {

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. The element is not actionable at its last box; scroll it into view or wait for layout, then retry.

When it happens

Trigger: Thrown at browse/cdp.go:284 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of JuliusBrussee/caveman@27d5a3981a (2026-08-15). Data as JSON: /api/errors/95e77335e14ec568. Report an issue: GitHub.