[Home](./index.md) > [puppeteer](./puppeteer.md) > [BrowserContext](./puppeteer.browsercontext.md) > [waitForTarget](./puppeteer.browsercontext.waitfortarget.md) ## BrowserContext.waitForTarget() method This searches for a target in this specific browser context. Signature: ```typescript waitForTarget(predicate: (x: Target) => boolean, options?: { timeout?: number; }): Promise; ``` ## Parameters | Parameter | Type | Description | | --- | --- | --- | | predicate | (x: [Target](./puppeteer.target.md)) => boolean | A function to be run for every target | | options | { timeout?: number; } | An object of options. Accepts a timout, which is the maximum wait time in milliseconds. Pass 0 to disable the timeout. Defaults to 30 seconds. | Returns: Promise<[Target](./puppeteer.target.md)> Promise which resolves to 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 browserContext.waitForTarget(target => target.url() === 'https://www.example.com/'); ```