grafana/k6 · info
parsing inner HTML options: %w
Error message
parsing inner HTML options: %w
What it means
Options passed to frame.innerHTML(selector, opts) failed to parse (frame_mapping.go:230). FrameInnerHTMLOptions uses FrameBaseOptions whose Parse reads only 'strict' and 'timeout' and always returns nil - a defensive, effectively unreachable branch in this version.
Source
Thrown at internal/js/modules/k6/browser/browser/frame_mapping.go:230
return nil, err //nolint:wrapcheck
}
return mapResponse(vu, resp), nil
}), nil
},
"hover": func(selector string, opts sobek.Value) (*sobek.Promise, error) {
popts := common.NewFrameHoverOptions(f.Timeout())
if err := popts.Parse(vu.Context(), opts); err != nil {
return nil, fmt.Errorf("parsing hover options: %w", err)
}
return promise(vu, func() (any, error) {
return nil, f.Hover(selector, popts) //nolint:wrapcheck
}), nil
},
"innerHTML": func(selector string, opts sobek.Value) (*sobek.Promise, error) {
popts := common.NewFrameInnerHTMLOptions(f.Timeout())
if err := popts.Parse(vu.Context(), opts); err != nil {
return nil, fmt.Errorf("parsing inner HTML options: %w", err)
}
return promise(vu, func() (any, error) {
return f.InnerHTML(selector, popts) //nolint:wrapcheck
}), nil
},
"innerText": func(selector string, opts sobek.Value) (*sobek.Promise, error) {
popts := common.NewFrameInnerTextOptions(f.Timeout())
if err := popts.Parse(vu.Context(), opts); err != nil {
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)View on GitHub (pinned to 93accf6570)
Solutions
- Pass only { timeout, strict }
- Report to k6 with a reproducer 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 html = await frame.innerHTML(sel, safeOpts);
} catch (e) {
console.error(`innerHTML(${sel}) failed: ${e.message}`);
} Prevention
- Use only timeout/strict
- Treat this message on stock k6 as an upstream defect to report
When it happens
Trigger: No innerHTML option value can trigger it today; 'strict' and 'timeout' are coerced without erroring.
Common situations: Not observed on stock k6; relevant only to forks or upgraded parsers.
Related errors
- parsing new frame check options: %w
- parsing double click options: %w
- parsing frame dispatch event options: %w
- parsing fill options: %w
- parsing focus options: %w
AI-assisted analysis of grafana/k6@93accf6570 (2026-08-15).
Data as JSON: /api/errors/6cb5f62dba080468.
Report an issue: GitHub.