Skip to content

高级开发 - 性能优化

1. 合理使用等待时间

js
// ❌ 错误:固定长时间等待
await this.sleep(5000);

// ✅ 正确:动态等待
await this.waitForSelector('.content');

// ✅ 正确:短时间等待 + 重试
for (let i = 0; i < 10; i++) {
  const element = document.querySelector('.target');
  if (element) break;
  await this.sleep(200);
}

2. 批量操作优化

js
// ❌ 错误:逐个查询DOM
const results = [];
for (let item of items) {
  results.push({
    title: document.querySelector('.item:nth-child(' + i + ') .title').innerText
  });
}

// ✅ 正确:批量查询
const results = Array.from(document.querySelectorAll('.item')).map(item => ({
  title: item.querySelector('.title')?.innerText?.trim()
}));

3. 及时释放资源

js
class Tool extends OPENUGC_API_V2 {
  async run() {
    const page = await this.OpenUrl({ url: this.args.url });

    try {
      // 执行逻辑
      const result = await page.execute('...');
      return result;
    } finally {
      // 始终关闭页面
      page.close();
    }
  }
}

相关链接

Released under the MIT License.