Skip to content

实战案例:自动登录与 Cookie 注入

本章提供一个可以直接套用的业务模板:如何自动登录网站并注入已有的 Cookie。

场景一:自动填写账号密码并点击登录

javascript
// ... (之前的连接代码省略)
const page = await browser.newPage();
await page.goto('https://example.com/login');

// 1. 等待账号输入框刷出来
await page.waitForSelector('#username');
// 2. 模拟打字输入账号
await page.type('#username', 'mbbrowser_user', { delay: 50 });
// 3. 输入密码
await page.type('#password', 'your_password', { delay: 50 });
// 4. 点击登录按钮
await page.click('#login-btn');

// 5. 等待登录成功的标志(比如跳转到了首页)
await page.waitForNavigation();
console.log('登录成功!');

在候鸟环境中,您可以通过代码直接注入 Cookie,从而实现“开门即入”。

javascript
// 准备你的 Cookie 数组
const cookies = [
  {
    name: 'session_id',
    value: 'abc123456789',
    domain: '.example.com'
  },
  {
    name: 'user_auth',
    value: 'true',
    domain: '.example.com'
  }
];

// 1. 在访问网页之前,先把 Cookie 撒进去
await page.setCookie(...cookies);

// 2. 此时再访问网页,通常就已经处于登录状态了
await page.goto('https://example.com/dashboard');

小贴士:如何找到“选择器”?

在前面的代码中,#username#password 叫做选择器。

  1. 在浏览器中,对着你想操作的按钮右键 -> 检查
  2. 在对应的 HTML 代码上右键 -> Copy -> Copy selector
  3. 贴到你的脚本里即可!

IMPORTANT

候鸟小秘密:每一个候鸟环境都会自动保存 Cookie。这意味着你用脚本登录成功后,下一次不论是代码开启还是手动开启环境,该账号都仍然是登录状态。这就是“环境持久化”带来的巨大便利!