import { extendPayload } from "@intuned/runtime";
import { BrowserContext, Page } from "playwright-core";
export default async function handler(
params: any,
page: Page,
context: BrowserContext
) {
await page.goto("https://books.toscrape.com/");
const bookTitles: { title: string }[] = [];
// Scraping book titles
const bookLocators = page.locator("ol li");
const count = await bookLocators.count();
const allLocators = await bookLocators.all();
for (const bookLocator of allLocators) {
const titleLocator = bookLocator.locator("h3");
const txt = (await titleLocator.textContent())?.trim();
const detailsUrlLocator = bookLocator.locator("div.image_container a");
const href = await detailsUrlLocator.getAttribute("href");
const detailsUrl = "https://books.toscrape.com" + href;
if (txt) {
bookTitles.push({ title: txt });
}
// Extending payload
extendPayload({
api: "details",
parameters: { url: detailsUrl },
});
}
}