--- sidebar_label: Page.queryObjects --- # Page.queryObjects() method This method iterates the JavaScript heap and finds all objects with the given prototype. **Signature:** ```typescript class Page { queryObjects( prototypeHandle: JSHandle ): Promise>; } ``` ## Parameters | Parameter | Type | Description | | --------------- | ---------------------------------------------------- | --------------------------------- | | prototypeHandle | [JSHandle](./puppeteer.jshandle.md)<Prototype> | a handle to the object prototype. | **Returns:** Promise<[JSHandle](./puppeteer.jshandle.md)<Prototype\[\]>> Promise which resolves to a handle to an array of objects with this prototype. ## Remarks Shortcut for [page.mainFrame().executionContext().queryObjects(prototypeHandle)](./puppeteer.executioncontext.queryobjects.md). ## Example ```ts // Create a Map object await page.evaluate(() => (window.map = new Map())); // Get a handle to the Map object prototype const mapPrototype = await page.evaluateHandle(() => Map.prototype); // Query all map instances into an array const mapInstances = await page.queryObjects(mapPrototype); // Count amount of map objects in heap const count = await page.evaluate(maps => maps.length, mapInstances); await mapInstances.dispose(); await mapPrototype.dispose(); ```