1 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
它里面的任何東西page.evaluate本質(zhì)上都是在 Chrome 的 DevTools 控制臺(tái)中運(yùn)行的,或者在你這樣做時(shí)所處的相同上下文中運(yùn)行。所以導(dǎo)入在這種情況下不起作用,至少不是你嘗試的方式。您必須像這樣顯式地將函數(shù)傳遞到上下文中:
const getLink = (node) => {
let link = node.querySelector("a");
return link ? link.href : null;
};
// process.js
// Turning off this import...
// import { getLink } from "../functions";
interface LinkArgs {
page: puppeteer.Page;
selector: selector;
}
export const getLinkFromPage = async ({ page, selector }): LinkArgs) =>
page.evaluate((selector, getLink) => {
const link = getLink(selector); // I'm using the function here.
return link;
}, selectors, getLink);
添加回答
舉報(bào)