# 自动化任务
# 批量登录
// 表单点击登录
async function loginByForm(page, user){
await page.type("[type=text]", user.username);
await page.type("[type=password]", user.password);
await page.click(".login-btn");
}
// Http Basic 登录
async function loginByBasic(page, user){
await page.authenticate({
username: user.username,
password: user.password,
});
}
function craeteLoginTask(browser, user, url) {
return function task() {
return new Promise(async (resolve, reject) => {
const page = await browser.newPage({ waitUntil: ["load"] });
await page.goto(url);
await loginByForm(page, user);
// or
// await loginByBasic(page, user);
await page.waitForNavigation(); // 页面登录成功后,需要保证redirect 跳转到请求的页面
resolve();
});
};
}