| 379 | } |
| 380 | |
| 381 | async waitForMany<ElementType extends Element|null = null, Selector extends string = string>( |
| 382 | selector: Selector, count: number, root?: puppeteer.ElementHandle, asyncScope = new AsyncScope(), |
| 383 | handler?: string) { |
| 384 | return await asyncScope.exec(() => this.waitForFunction(async () => { |
| 385 | const elements = await this.$$<ElementType, typeof selector>(selector, root, handler); |
| 386 | return elements.length >= count ? elements : undefined; |
| 387 | }, asyncScope, `Waiting for ${count} elements to match selector '${handler ? `${handler}/` : ''}${selector}'`)); |
| 388 | } |
| 389 | |
| 390 | async waitForManyWithTries<ElementType extends Element|null = null, Selector extends string = string>( |
| 391 | selector: Selector, count: number, tries: number, root?: puppeteer.ElementHandle, asyncScope = new AsyncScope(), |