Page.waitForSelector() メソッド
ページに `selector` が表示されるまで待機します。メソッド呼び出し時に `selector` が既に存在する場合、メソッドはすぐに返ります。 `timeout` ミリ秒待機した後も `selector` が表示されない場合、関数はエラーをスローします。
シグネチャ:
class Page {
waitForSelector<Selector extends string>(
selector: Selector,
options?: WaitForSelectorOptions
): Promise<ElementHandle<NodeFor<Selector>> | null>;
}
パラメータ
パラメータ | 型 | 説明 |
---|---|---|
selector | セレクター | 待機する要素の セレクター |
options | WaitForSelectorOptions | _(オプション)_ オプションの待機パラメータ |
戻り値
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();
})();