You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Puppeteer操作Doordash注册页:导航超时及输入框点击问题求助

解决Doordash Puppeteer批量注册的两个问题

问题1:Navigation timeout of 30000 ms exceeded

原因及解决方案

页面加载缓慢、动态资源过多或反爬机制限制都可能导致超时,可通过以下方式解决:

  • 延长超时时间并调整加载完成判断条件:将超时时间延长至60秒,同时使用networkidle2替代默认的load,当网络连接数低于2个持续500ms时认为页面加载完成
  • 禁用非必要资源加载:阻止图片、CSS、字体等资源请求,加快页面加载速度
  • 模拟真实浏览器UA:设置符合主流浏览器的User-Agent,避免被反爬识别

代码示例:

// 设置User-Agent
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36');

// 拦截非必要资源
await page.setRequestInterception(true);
page.on('request', (req) => {
  if (['image', 'stylesheet', 'font'].includes(req.resourceType())) {
    req.abort();
  } else {
    req.continue();
  }
});

// 访问页面,延长超时并调整加载条件
await page.goto('https://www.doordash.com/', {
  timeout: 60000,
  waitUntil: 'networkidle2'
});

问题2:无法激活FirstName输入框

原因及解决方案

你提供的选择器存在拼写错误(dov应为div),且Doordash的动态class(带sc-前缀)会随版本变更,稳定性差。建议使用基于placeholder、label等静态属性的选择器,并确保等待弹窗加载完成后再操作元素。

步骤及代码示例:

  1. 等待注册弹窗触发按钮并点击打开弹窗
  2. 等待FirstName输入框可见并可交互
  3. 通过focus或直接DOM操作激活输入框并输入内容
// 等待并点击注册按钮(根据页面实际文本调整选择器)
await page.waitForSelector('button:has-text("Sign Up")', { visible: true });
await page.click('button:has-text("Sign Up")');

// 等待FirstName输入框可见
await page.waitForSelector('input[placeholder="First name"]', { visible: true, timeout: 30000 });

// 激活输入框并输入内容(模拟人类输入速度)
await page.focus('input[placeholder="First name"]');
await page.type('input[placeholder="First name"]', 'TestFirstName', { delay: 100 });

// 如果上述方法无效,可直接通过DOM操作
await page.evaluate(() => {
  const input = document.querySelector('input[placeholder="First name"]');
  input.focus();
  input.value = 'TestFirstName';
  input.dispatchEvent(new Event('input')); // 触发输入事件,确保网站检测到内容变更
});

额外注意事项

Doordash有严格的反爬机制,批量注册建议加入随机延迟(如await page.waitForTimeout(Math.random() * 2000 + 1000)),避免短时间内频繁操作被封禁IP或账号。

内容的提问来源于stack exchange,提问作者JediSZN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 04:55:28