[Home](./index.md) > [puppeteer](./puppeteer.md) > [Page](./puppeteer.page.md) > [emulate](./puppeteer.page.emulate.md) ## Page.emulate() method Emulates given device metrics and user agent. This method is a shortcut for calling two methods: [Page.setUserAgent()](./puppeteer.page.setuseragent.md) and [Page.setViewport()](./puppeteer.page.setviewport.md) To aid emulation, Puppeteer provides a list of device descriptors that can be obtained via the [Puppeteer.devices](./puppeteer.puppeteer.devices.md) `page.emulate` will resize the page. A lot of websites don't expect phones to change size, so you should emulate before navigating to the page. Signature: ```typescript emulate(options: { viewport: Viewport; userAgent: string; }): Promise; ``` ## Parameters | Parameter | Type | Description | | --- | --- | --- | | options | { viewport: [Viewport](./puppeteer.viewport.md); userAgent: string; } | | Returns: Promise<void> ## Remarks List of all available devices is available in the source code: [src/common/DeviceDescriptors.ts](https://github.com/puppeteer/puppeteer/blob/main/src/common/DeviceDescriptors.ts). ## Example ```js const puppeteer = require('puppeteer'); const iPhone = puppeteer.devices['iPhone 6']; (async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.emulate(iPhone); await page.goto('https://www.google.com'); // other actions... await browser.close(); })(); ```