# 自动化任务

# 批量登录

// 表单点击登录
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();
      });
    };
  }