puppeteer/new-docs/puppeteer.frame.waitforselector.md
Jack Franklin 24cb6a28ad
chore(docs): document Frame class (#6188)
* chore: document Frame class
2020-07-09 14:22:58 +01:00

1.6 KiB

Home > puppeteer > Frame > waitForSelector

Frame.waitForSelector() method

Signature:

waitForSelector(selector: string, options?: WaitForSelectorOptions): Promise<ElementHandle | null>;

Parameters

Parameter Type Description
selector string the selector to wait for.
options WaitForSelectorOptions options to define if the element should be visible and how long to wait before timing out.

Returns:

Promise<ElementHandle | null>

a promise which resolves when an element matching the selector string is added to the DOM.

Remarks

Wait for the selector to appear in page. If at the moment of calling the method the selector already exists, the method will return immediately. If the selector doesn't appear after the timeout milliseconds of waiting, the function will throw.

This method works across navigations.

Example

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  let currentURL;
  page.mainFrame()
  .waitForSelector('img')
  .then(() => console.log('First URL with image: ' + currentURL));

  for (currentURL of ['https://example.com', 'https://google.com', 'https://bbc.com']) {
    await page.goto(currentURL);
  }
  await browser.close();
})();