寻找一种编写自定义 Puppeteer 命令的方法
Looking for a way to write custom Puppeteer commands
之前使用 Nightwatch.js 我能够创建自定义 Nightwatch 命令:https://github.com/nightwatchjs/nightwatch-docs/blob/master/guide/extending-nightwatch/custom-commands.md
我想知道 Puppeteer 是否存在这样的东西——我见过的最接近的东西是:
但离我想要的还差得很远。我希望能够调用 page.commonAction(...)
而不是
page.x();
page.y();
page.z();
您始终可以使用可以调用的函数创建自己的脚本。例如,我在同一个文件夹中有一个 myFunctions.js,我从中命名
const mf = require('./myFunctions.js');
在myFunctions.js里面我有,例如,这个函数:
async function verifyElementPresent(page, selector) {
let verifySelector = await page.$(selector);
if (verifySelector !== null) {
console.log(found('> OK - Element present'));
} else {
console.log(notfound('>>> ERROR - Element not present: ' + selector));
}
}
所以现在,在我的 Puppeteer 脚本中,我所要做的就是写:
mf.verifyElementPresent(page, '#headerTitle');
它会在控制台中打印结果。
希望对您有所帮助。
之前使用 Nightwatch.js 我能够创建自定义 Nightwatch 命令:https://github.com/nightwatchjs/nightwatch-docs/blob/master/guide/extending-nightwatch/custom-commands.md
我想知道 Puppeteer 是否存在这样的东西——我见过的最接近的东西是:
但离我想要的还差得很远。我希望能够调用 page.commonAction(...)
而不是
page.x();
page.y();
page.z();
您始终可以使用可以调用的函数创建自己的脚本。例如,我在同一个文件夹中有一个 myFunctions.js,我从中命名
const mf = require('./myFunctions.js');
在myFunctions.js里面我有,例如,这个函数:
async function verifyElementPresent(page, selector) {
let verifySelector = await page.$(selector);
if (verifySelector !== null) {
console.log(found('> OK - Element present'));
} else {
console.log(notfound('>>> ERROR - Element not present: ' + selector));
}
}
所以现在,在我的 Puppeteer 脚本中,我所要做的就是写:
mf.verifyElementPresent(page, '#headerTitle');
它会在控制台中打印结果。
希望对您有所帮助。