puppeteer/website/versioned_docs/version-21.3.1/api/puppeteer.browsercontext.waitfortarget.md
release-please[bot] d98f488a51
chore: release main (#10942)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
2023-09-19 20:20:53 +02:00

45 lines
1.2 KiB
Markdown

---
sidebar_label: BrowserContext.waitForTarget
---
# BrowserContext.waitForTarget() method
Waits until a [target](./puppeteer.target.md) matching the given `predicate` appears and returns it.
This will look all open [browser contexts](./puppeteer.browsercontext.md).
#### Signature:
```typescript
class BrowserContext {
abstract waitForTarget(
predicate: (x: Target) => boolean | Promise<boolean>,
options?: {
timeout?: number;
}
): Promise<Target>;
}
```
## Parameters
| Parameter | Type | Description |
| --------- | ---------------------------------------------------------------------------- | ------------ |
| predicate | (x: [Target](./puppeteer.target.md)) =&gt; boolean \| Promise&lt;boolean&gt; | |
| options | { timeout?: number; } | _(Optional)_ |
**Returns:**
Promise&lt;[Target](./puppeteer.target.md)&gt;
## Example
Finding a target for a page opened via `window.open`:
```ts
await page.evaluate(() => window.open('https://www.example.com/'));
const newWindowTarget = await browserContext.waitForTarget(
target => target.url() === 'https://www.example.com/'
);
```