2022-08-06 14:49:20 +00:00
---
sidebar_label: Page.waitForRequest
---
# Page.waitForRequest() method
2022-10-24 14:23:24 +00:00
**Signature:**
2022-08-06 14:49:20 +00:00
```typescript
class Page {
waitForRequest(
urlOrPredicate: string | ((req: HTTPRequest) => boolean | Promise< boolean > ),
options?: {
timeout?: number;
}
): Promise< HTTPRequest > ;
}
```
## Parameters
| Parameter | Type | Description |
| -------------- | ---------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| urlOrPredicate | string \| ((req: [HTTPRequest ](./puppeteer.httprequest.md )) => boolean \| Promise< boolean> ) | A URL or predicate to wait for |
| options | { timeout?: number; } | < i > (Optional)< / i > Optional waiting parameters |
**Returns:**
Promise< [HTTPRequest](./puppeteer.httprequest.md)>
2022-10-05 08:27:19 +00:00
Promise which resolves to the matched request
2022-08-06 14:49:20 +00:00
## Remarks
Optional Waiting Parameters have:
- `timeout` : Maximum wait time in milliseconds, defaults to `30` seconds, pass `0` to disable the timeout. The default value can be changed by using the [Page.setDefaultTimeout() ](./puppeteer.page.setdefaulttimeout.md ) method.
## Example
```ts
2022-10-05 08:27:19 +00:00
const firstRequest = await page.waitForRequest('https://example.com/resource');
const finalRequest = await page.waitForRequest(
request => request.url() === 'https://example.com'
2022-08-06 14:49:20 +00:00
);
2022-10-05 08:27:19 +00:00
return finalRequest.response()?.ok();
2022-08-06 14:49:20 +00:00
```