Appearance
高级开发 - 常见陷阱
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();