Files
2026-07-13 13:23:39 +08:00

30 lines
980 B
TypeScript

import { Dataset, JSDOMCrawler } from '@crawlee/jsdom';
import { Actor } from 'apify';
if (process.env.STORAGE_IMPLEMENTATION === 'LOCAL') {
// @ts-ignore
await Actor.init({ storage: new (await import('@apify/storage-local')).ApifyStorageLocal() });
} else {
await Actor.init();
}
const crawler = new JSDOMCrawler({
runScripts: true,
requestHandler: async ({ window }) => {
const { document } = window;
document.querySelectorAll('button')[12].click(); // 1
document.querySelectorAll('button')[15].click(); // +
document.querySelectorAll('button')[12].click(); // 1
document.querySelectorAll('button')[18].click(); // =
// 2
const { innerHTML } = document.querySelectorAll('.component-display')[0].childNodes[0] as Element;
await Dataset.pushData({ result: innerHTML });
},
});
await crawler.run(['https://ahfarmer.github.io/calculator/']);
await Actor.exit({ exit: Actor.isAtHome() });