木偶-无法键入输入字段或单击按钮

时间:2020-07-09 03:22:20

标签: button types puppeteer selector

我正在使用puppeteer来自动输入表单。我可以填写除电子邮件字段以外的所有字段,也不能单击表单末尾的订阅按钮。下面是我的代码。 FNAME有效,但#mce-EMAIL不起作用(即使我尝试使用page.type)。同样由于某种原因,找不到预订按钮的选择器。下面也是与该代码相关的DOM部分的屏幕截图。

我的代码可能无法正常工作的任何原因?

  await page.$eval('#mce-EMAIL', el => el.value = 'test@example.com');
  await delay(500);
  await page.type('input[name="FNAME"]', MyData[row].fname)
  await delay(500);


  await page.click('#mc-embedded-subscribe')

DOM

1 个答案:

答案 0 :(得分:1)

这类网站的问题是,对于多个元素,它具有相同的ID。一个糟糕的设计决定。

enter image description here

您需要使用正确的选择器。否则,它仍会填充隐藏的表单。

这是基于您提供的链接的正确选择器。

#mc_embed_signup_scroll #mce-EMAIL