メインコンテンツにスキップ
バージョン: 22.5.0

Page.waitForSelector() メソッド

ページに `selector` が表示されるまで待機します。メソッド呼び出し時に `selector` が既に存在する場合、メソッドはすぐに返ります。 `timeout` ミリ秒待機した後も `selector` が表示されない場合、関数はエラーをスローします。

シグネチャ:

class Page {
waitForSelector<Selector extends string>(
selector: Selector,
options?: WaitForSelectorOptions
): Promise<ElementHandle<NodeFor<Selector>> | null>;
}

パラメータ

パラメータ説明
selectorセレクター待機する要素の セレクター
optionsWaitForSelectorOptions_(オプション)_ オプションの待機パラメータ

戻り値

Promise<ElementHandle | null>

セレクター文字列で指定された要素がDOMに追加されたときに解決されるPromise。 hidden: `true` で待機していて、セレクターがDOMに見つからない場合は `null` に解決されます。

備考

引数 `options` のオプションパラメータは次のとおりです。

  • `visible`:要素がDOMに存在し、表示されているかどうか、つまり `display: none` または `visibility: hidden` CSSプロパティがないかどうかを待機するブール値。デフォルトは `false` です。

  • `hidden`:要素がDOMに見つからないか、非表示になっているか、つまり `display: none` または `visibility: hidden` CSSプロパティを持っているかを待機します。デフォルトは `false` です。

  • `timeout`:待機する最大時間(ミリ秒)。デフォルトは `30000`(30秒)です。タイムアウトを無効にするには、`0` を渡します。デフォルト値は、Page.setDefaultTimeout() メソッドを使用して変更できます。

このメソッドはナビゲーションを跨いで機能します

import puppeteer from 'puppeteer';
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
let currentURL;
page
.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();
})();