puppeteer/website/versioned_docs/version-18.1.0/api/puppeteer.browsercontext.waitfortarget.md
release-please[bot] 3aee641c3d
chore(main): release 18.1.0 (#9042)
🤖 I have created a release *beep* *boop*
---


##
[18.1.0](https://github.com/puppeteer/puppeteer/compare/v18.0.5...v18.1.0)
(2022-10-05)


### Features

* **chromium:** roll to Chromium 107.0.5296.0 (r1045629)
([#9039](https://github.com/puppeteer/puppeteer/issues/9039))
([022fbde](022fbde85e))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
2022-10-05 08:27:19 +00:00

1.8 KiB

sidebar_label
BrowserContext.waitForTarget

BrowserContext.waitForTarget() method

This searches for a target in this specific browser context.

Signature:

class BrowserContext {
  waitForTarget(
    predicate: (x: Target) => boolean | Promise<boolean>,
    options?: {
      timeout?: number;
    }
  ): Promise<Target>;
}

Parameters

Parameter Type Description
predicate (x: Target) => boolean | Promise<boolean> A function to be run for every target
options { timeout?: number; } (Optional) 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>

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:

await page.evaluate(() => window.open('https://www.example.com/'));
const newWindowTarget = await browserContext.waitForTarget(
  target => target.url() === 'https://www.example.com/'
);