Skip to content

高级开发 - 常见陷阱

1. 异步操作

js
// ❌ 错误:未使用 await
run() {
  document.querySelector('#btn').click();
  return 'done';
}

// ✅ 正确:使用 await
async run() {
  await document.querySelector('#btn').click();
  await this.sleep(1000);
  return 'done';
}

2. 变量作用域

js
// ❌ 错误:在 execute 中使用外部变量
const myVar = 'test';
const result = await page.execute(`
  console.log(myVar);  // 变量未定义
`);

// ✅ 正确:传递参数
const result = await page.execute(`
  const myVar = '${myVar}';
  console.log(myVar);
`, { myVar });

3. 页面生命周期

js
// ❌ 错误:页面关闭后访问
const page = await this.OpenUrl({ url: '...' });
page.close();
const data = page.execute('...');  // 页面已关闭

// ✅ 正确:先执行后关闭
const page = await this.OpenUrl({ url: '...' });
const data = await page.execute('...');
page.close();

相关链接

Released under the MIT License.