Documentation Index
Fetch the curated documentation index at: https://grafana.com/llms.txt
Fetch the complete documentation index at: https://grafana.com/llms-full.txt
Use this file to discover all available pages before exploring further.
STOP! If you are an AI agent or LLM, read this before continuing. This is the HTML version of a Grafana documentation page. Always request the Markdown version instead - HTML wastes context. Get this page as Markdown: https://grafana.com/docs/k6/latest/javascript-api/k6-browser/page/getbyalttext.md (append .md) or send Accept: text/markdown to https://grafana.com/docs/k6/latest/javascript-api/k6-browser/page/getbyalttext/. For the curated documentation index, use https://grafana.com/llms.txt. For the complete documentation index, use https://grafana.com/llms-full.txt.
getByAltText(altText[, options])
Returns a locator for elements with the specified alt text. This method is useful for locating images and other elements that have an alt attribute, making your tests more accessible and user-focused.
| Parameter | Type | Default | Description |
|---|---|---|---|
altText | string | RegExp | - | Required. The alt text to search for. Can be a string for exact match or a RegExp for pattern matching. |
options | object | null | |
options.exact | boolean | false | Whether to match the alt text exactly with case sensitivity. When true, performs a case-sensitive match. |
Returns
| Type | Description |
|---|---|
| Locator | A locator object that can be used to interact with elements matching the specified alt text. |
Examples
Basic alt text matching
Find and click an image by its alt text:
import { browser } from 'k6/browser';
export const options = {
scenarios: {
ui: {
executor: 'shared-iterations',
options: {
browser: {
type: 'chromium',
},
},
},
},
};
export default async function () {
const page = await browser.newPage();
try {
await page.goto('https://quickpizza.grafana.com');
const logo = page.getByAltText('LOGO');
await logo.waitFor();
await logo.click();
await page.waitForLoadState();
} finally {
await page.close();
}
}Exact alt text matching
Use exact matching for precise alt text:
import { browser } from 'k6/browser';
export const options = {
scenarios: {
ui: {
executor: 'shared-iterations',
options: {
browser: {
type: 'chromium',
},
},
},
},
};
export default async function () {
const page = await browser.newPage();
try {
await page.goto('https://quickpizza.grafana.com');
const logo = page.getByAltText('logo', { exact: true });
await logo.waitFor();
await logo.click();
await page.waitForLoadState();
} finally {
await page.close();
}
}Using regular expressions
Find images using pattern matching:
import { browser } from 'k6/browser';
export const options = {
scenarios: {
ui: {
executor: 'shared-iterations',
options: {
browser: {
type: 'chromium',
},
},
},
},
};
export default async function () {
const page = await browser.newPage();
try {
await page.goto('https://quickpizza.grafana.com');
const logo = page.getByAltText(/logo/s);
await logo.waitFor();
await logo.click();
await page.waitForLoadState();
} finally {
await page.close();
}
}Common use cases
- Image testing:
- Testing image alt text for accessibility compliance
- Interacting with clickable images/banners
- Accessibility testing:
- Ensuring all images have meaningful alt text
- Testing screen reader compatibility
- Validating WCAG compliance
- UI interaction:
- Clicking on logo images to navigate home
- Selecting images in galleries or carousels
- Interacting with image-based buttons
Best practices
- Use descriptive alt text: When creating tests, ensure your application uses meaningful alt text that describes the image content or function.
- Prefer exact matches: Use
exact: truewhen you need precise matching to avoid false positives. - Accessibility-first: Using
getByAltText()encourages better accessibility practices by ensuring images have proper alt attributes. - Regular expressions for patterns: Use RegExp for flexible matching when dealing with dynamic or numbered content.
- Combine with assertions: Always verify that the located elements behave as expected using assertions.
Related
- page.getByRole() - Locate by ARIA role
- page.getByLabel() - Locate by form labels
- page.getByPlaceholder() - Locate by placeholder text
- page.getByTestId() - Locate by test ID
- page.getByTitle() - Locate by title attribute
- page.getByText() - Locate by visible text
Was this page helpful?
Related resources from Grafana Labs

