Menu
Choose a product
Viewing: v1.7.x (latest)
Find another version
Scroll for more
Open source
JSHandle
Represents a reference to a JavaScript object within the context of a webpage. This allows you to interact with JavaScript objects directly from your script.
Caution
This API is a work in progress. Some of the following functionalities might behave unexpectedly.
Supported APIs
| Method | Description |
|---|---|
| asElement() | Returns either null or the object handle itself, if the object handle is an instance of
ElementHandle. |
| dispose() | Stops referencing the element handle. |
| evaluate(pageFunction[, arg]) | Evaluates the pageFunction and returns its return value. |
| evaluateHandle(pageFunction[, arg]) | Evaluates the pageFunction and returns a JSHandle. |
| getProperties() | Fetches a map with own property names of of the JSHandle with their values as JSHandle instances. |
| jsonValue() | Fetches a JSON representation of the object. |
Example
JavaScript
JavaScript
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://test.k6.io/');
const jsHandle = await page.evaluateHandle(() => document.head);
// ...
} finally {
await page.close();
}
}Was this page helpful?
Related resources from Grafana Labs
Additional helpful documentation, links, and articles:
Video

Performance testing and observability in Grafana Cloud
Optimize user experiences with Grafana Cloud. Learn real-time insights, performance testing with k6, and continuous validation with Synthetic Monitoring.
Events

User-centered observability: load testing, real user monitoring, and synthetics
Learn how to use load testing, synthetic monitoring, and real user monitoring (RUM) to understand end users' experience of your apps. Watch on demand.