2022-08-06 14:49:20 +00:00
|
|
|
---
|
|
|
|
sidebar_label: Frame.waitForNavigation
|
|
|
|
---
|
|
|
|
|
|
|
|
# Frame.waitForNavigation() method
|
|
|
|
|
2022-08-16 11:58:16 +00:00
|
|
|
Waits for the frame to navigate. It is useful for when you run code which will indirectly cause the frame to navigate.
|
|
|
|
|
|
|
|
Usage of the [History API](https://developer.mozilla.org/en-US/docs/Web/API/History_API) to change the URL is considered a navigation.
|
|
|
|
|
2022-08-06 14:49:20 +00:00
|
|
|
**Signature:**
|
|
|
|
|
|
|
|
```typescript
|
|
|
|
class Frame {
|
|
|
|
waitForNavigation(options?: {
|
|
|
|
timeout?: number;
|
|
|
|
waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[];
|
|
|
|
}): Promise<HTTPResponse | null>;
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## Parameters
|
|
|
|
|
|
|
|
| Parameter | Type | Description |
|
|
|
|
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
|
|
|
|
| options | { timeout?: number; waitUntil?: [PuppeteerLifeCycleEvent](./puppeteer.puppeteerlifecycleevent.md) \| [PuppeteerLifeCycleEvent](./puppeteer.puppeteerlifecycleevent.md)\[\]; } | <i>(Optional)</i> options to configure when the navigation is consided finished. |
|
|
|
|
|
|
|
|
**Returns:**
|
|
|
|
|
|
|
|
Promise<[HTTPResponse](./puppeteer.httpresponse.md) \| null>
|
|
|
|
|
|
|
|
a promise that resolves when the frame navigates to a new URL.
|
|
|
|
|
2022-08-16 11:58:16 +00:00
|
|
|
## Example
|
2022-08-06 14:49:20 +00:00
|
|
|
|
|
|
|
```ts
|
|
|
|
const [response] = await Promise.all([
|
|
|
|
// The navigation promise resolves after navigation has finished
|
|
|
|
frame.waitForNavigation(),
|
|
|
|
// Clicking the link will indirectly cause a navigation
|
|
|
|
frame.click('a.my-link'),
|
|
|
|
]);
|
|
|
|
```
|