grafana/k6 · error

no element found for selector '%s' in response '%s'

Error message

no element found for selector '%s' in response '%s'

What it means

ClickLink's selector (default 'a' when unspecified) matched no elements in the response HTML — link.Size() == 0. The page has no anchor matching the selector, so no link target can be resolved for the follow-up request.

Source

Thrown at js/modules/k6/http/response.go:259

		params := args[0].ToObject(rt)
		for _, k := range params.Keys() {
			switch k {
			case "selector":
				selector = params.Get(k).String()
			case "params":
				requestParams = params.Get(k)
			}
		}
	}

	responseURL, err := url.Parse(res.URL)
	if err != nil {
		common.Throw(rt, err)
	}

	link := res.HTML(selector)
	if link.Size() == 0 {
		common.Throw(rt, fmt.Errorf("no element found for selector '%s' in response '%s'", selector, res.URL))
	}
	hrefAttr := link.Attr("href")
	if hrefAttr == sobek.Undefined() {
		errmsg := fmt.Errorf("no valid href attribute value found on element '%s' in response '%s'", selector, res.URL)
		common.Throw(rt, errmsg)
	}
	hrefURL, err := url.Parse(hrefAttr.String())
	if err != nil {
		common.Throw(rt, err)
	}
	requestURL := responseURL.ResolveReference(hrefURL)

	return res.client.Request(http.MethodGet, rt.ToValue(requestURL.String()), sobek.Undefined(), requestParams)
}

View on GitHub (pinned to 01ffac6f24)

Solutions

  1. Confirm the response HTML contains the anchor you expect (e.g. it wasn't rendered by client-side JavaScript)
  2. Set the selector param to a CSS selector that matches an existing link element
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at js/modules/k6/http/response.go:259 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of grafana/k6@01ffac6f24 (2026-08-18). Data as JSON: /api/errors/4da4db2d3bf48009. Report an issue: GitHub.