grafana/k6 · info

parsing isChecked options of selector %q: %w

Error message

parsing isChecked options of selector %q: %w

What it means

Options passed to frame.isChecked(selector, opts) failed to parse (frame_mapping.go:257). FrameIsCheckedOptions uses FrameBaseOptions whose Parse always returns nil in this codebase - defensive and effectively unreachable in the current version. The message includes the selector to help locate the call.

Source

Thrown at internal/js/modules/k6/browser/browser/frame_mapping.go:257

				return nil, fmt.Errorf("parsing inner text options: %w", err)
			}
			return promise(vu, func() (any, error) {
				return f.InnerText(selector, popts) //nolint:wrapcheck
			}), nil
		},
		"inputValue": func(selector string, opts sobek.Value) (*sobek.Promise, error) {
			popts := common.NewFrameInputValueOptions(f.Timeout())
			if err := popts.Parse(vu.Context(), opts); err != nil {
				return nil, fmt.Errorf("parsing input value options: %w", err)
			}
			return promise(vu, func() (any, error) {
				return f.InputValue(selector, popts) //nolint:wrapcheck
			}), nil
		},
		"isChecked": func(selector string, opts sobek.Value) (*sobek.Promise, error) {
			popts := common.NewFrameIsCheckedOptions(f.Timeout())
			if err := popts.Parse(vu.Context(), opts); err != nil {
				return nil, fmt.Errorf("parsing isChecked options of selector %q: %w", selector, err)
			}
			return promise(vu, func() (any, error) {
				return f.IsChecked(selector, popts) //nolint:wrapcheck
			}), nil
		},
		"isDetached": f.IsDetached,
		"isDisabled": func(selector string, opts sobek.Value) (*sobek.Promise, error) {
			popts := common.NewFrameIsDisabledOptions(f.Timeout())
			if err := popts.Parse(vu.Context(), opts); err != nil {
				return nil, fmt.Errorf("parsing isDisabled options of selector %q: %w", selector, err)
			}
			return promise(vu, func() (any, error) {
				return f.IsDisabled(selector, popts) //nolint:wrapcheck
			}), nil
		},
		"isEditable": func(selector string, opts sobek.Value) (*sobek.Promise, error) {
			popts := common.NewFrameIsEditableOptions(f.Timeout())
			if err := popts.Parse(vu.Context(), opts); err != nil {

View on GitHub (pinned to 93accf6570)

Solutions

  1. Pass only { timeout, strict }
  2. Report to k6 with the selector and options if it fires on a stock build
Defensive patterns

Strategy: try-catch

Validate before calling

const safeOpts = { timeout: Number(opts?.timeout) || undefined, strict: !!opts?.strict };

Try / catch

try {
  const checked = await frame.isChecked(sel, safeOpts);
} catch (e) {
  console.error(`isChecked(${sel}) failed: ${e.message}`);
}

Prevention

When it happens

Trigger: No isChecked option value can trigger it today; 'strict' and 'timeout' never fail coercion.

Common situations: Not observed on stock k6; only relevant to custom builds or parser changes.

Related errors


AI-assisted analysis of grafana/k6@93accf6570 (2026-08-15). Data as JSON: /api/errors/84d853a7357e76a1. Report an issue: GitHub.