[Home](./index.md) > [puppeteer](./puppeteer.md) > [Browser](./puppeteer.browser.md) > [waitForTarget](./puppeteer.browser.waitfortarget.md)
## Browser.waitForTarget() method
Searches for a target in all browser contexts.
Signature:
```typescript
waitForTarget(predicate: (x: Target) => boolean, options?: WaitForTargetOptions): Promise;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| predicate | (x: [Target](./puppeteer.target.md)) => boolean | A function to be run for every target. |
| options | [WaitForTargetOptions](./puppeteer.waitfortargetoptions.md) | |
Returns:
Promise<[Target](./puppeteer.target.md)>
The first target found that matches the `predicate` function.
## Example
An example of finding a target for a page opened via `window.open`:
```js
await page.evaluate(() => window.open('https://www.example.com/'));
const newWindowTarget = await browser.waitForTarget(target => target.url() === 'https://www.example.com/');
```