Puppeteer 是一个 Node.js 库,它提供了一个高级 API 来通过 DevTools 协议控制 Chrome 或 Chromium。Puppeteer 默认以无头模式运行,但可以配置为运行“有头”模式(即带有 GUI 的浏览器)。它非常适合用于自动化测试、网络抓取、生成页面截图和 PDF 等任务。
Puppeteer 主要用于以下类型的任务:
要使用 Puppeteer 检查网站是否使用特定的 JS 函数,你可以编写一个脚本来加载网页,然后搜索页面源代码或执行 JavaScript 来查找函数调用。以下是一个简单的示例,展示了如何检查网页是否使用了名为 myFunction
的函数:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
// 检查页面源代码中是否包含函数定义
const source = await page.content();
const functionDefined = source.includes('function myFunction');
console.log('Function defined in source:', functionDefined);
// 尝试在页面上下文中执行函数
try {
await page.evaluate(() => {
if (typeof myFunction === 'function') {
console.log('myFunction exists and is callable');
} else {
console.log('myFunction does not exist or is not callable');
}
});
} catch (error) {
console.error('Error evaluating function:', error);
}
await browser.close();
})();
在这个示例中,我们首先加载了一个网页,然后检查页面的源代码是否包含 function myFunction
字样。接着,我们尝试在页面的上下文中执行 myFunction
函数,以检查它是否存在并且可调用。
myFunction
,page.evaluate
中的检查将返回函数不存在。为了解决这些问题,你可以:
更多关于 Puppeteer 的信息和示例代码,可以参考其官方文档:Puppeteer 官方文档。
领取专属 10元无门槛券
手把手带您无忧上云