mirror of
https://github.com/puppeteer/puppeteer
synced 2024-06-14 14:02:48 +00:00
45 lines
1.2 KiB
Markdown
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)) => boolean \| Promise<boolean> | |
|
||
|
| options | { timeout?: number; } | _(Optional)_ |
|
||
|
|
||
|
**Returns:**
|
||
|
|
||
|
Promise<[Target](./puppeteer.target.md)>
|
||
|
|
||
|
## 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/'
|
||
|
);
|
||
|
```
|