Puppeteer 表单提交;按名称而不是 id 选择输入

Puppeteer form submission; Selecting inputs by name and not id

我正在尝试通过为 majestic.com 创建网络抓取工具来学习一些 javascript,这是他们的 api 页面,下面是我需要的表格。

https://developer-support.majestic.com/

这是我的代码

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: false });
  const page = await browser.newPage();
  await page.goto('https://developer-support.majestic.com/');
  await page.click('#add-item-button')
  await page.click('#add-item-button')

  await page.type('#try-it-out-input' , 'my api key 987654321')
  await page.select('select[name=item0]', '1234');
  console.log('end');

})();

在提交任何内容之前,程序首先必须点击“添加更多项目”按钮两次,因为我需要发送 3 个 url,所以我总共有 3 个输入字段(这部分有效)。然后我通过 id 获取其中一个表格(需要 API 键的表格)并填写它,这也很好用。

当我尝试用 URL 填写 3 个表格时,我的问题就开始了。它们没有 ID,但它们有名称,例如 item0、item1 和 item3,但我想不出一种方法来 select 它们。我希望有人能指出错误在哪里。谢谢!

没有 select 标签,name="item0" 只有一个输入标签,当您使用此 select 或

时,您的脚本可以正常工作
await page.select('input[name="item0"]', '1234');