| 580 | ...args: any[] |
| 581 | ): Playwright<T> & Promise<T> |
| 582 | eval( |
| 583 | fn: string | ((...args: any[]) => any), |
| 584 | ...args: any[] |
| 585 | ): Playwright<any> & Promise<any> { |
| 586 | return this.startChain(async () => |
| 587 | page |
| 588 | .evaluate(fn, ...args) |
| 589 | .catch((err) => { |
| 590 | // TODO: gross, why are we doing this |
| 591 | console.error('eval error:', err) |
| 592 | return null! |
| 593 | }) |
| 594 | .finally(async () => { |
| 595 | await page.waitForLoadState() |
| 596 | }) |
| 597 | ) |
| 598 | } |
| 599 | |
| 600 | async log<T extends boolean = false>(options?: { includeArgs?: T }) { |
| 601 | return this.startChain( |