import { Actor } from 'apify'; import { Dataset, PlaywrightCrawler } from '@crawlee/playwright'; const mainOptions = { exit: Actor.isAtHome(), storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, }; await Actor.main(async () => { const crawler = new PlaywrightCrawler({ preNavigationHooks: [ (_ctx, goToOptions) => { goToOptions.waitUntil = 'networkidle'; }, ], async requestHandler({ page, enqueueLinks, request }) { const { url } = request; const pageTitle = await page.title(); await Dataset.pushData({ url, pageTitle }); await enqueueLinks({ globs: ['**/3.12/examples/*'], }); }, }); await crawler.run(['https://crawlee.dev/js/docs/3.12/examples/']); }, mainOptions);