【问题标题】:Puppeteer wait for keyboard.type to finish typing long textPuppeteer 等待keyboard.type 完成输入长文本
【发布时间】:2021-09-14 02:33:41
【问题描述】:

我正在使用 puppeteer 抓取网站。

我对以下代码只有一个简单的问题:

await page.keyboard.type(data)
await page.click(buttonSelector)

第一行输入很长的文本,我希望第二行是提交按钮点击等到输入完成。

【问题讨论】:

  • 也许在提交之前尝试page.waitForFunction()。在检查功能中,您可以比较输入的当前值是否等于所需的数据。

标签: javascript node.js web web-scraping puppeteer


【解决方案1】:

尝试使用:

await page.type(".your-selector", "your data", {delay: 10})

并设置所需的延迟或作为替代方案:

await page.evaluate(() => document.querySelector(".your-selector").value = "your data")

【讨论】:

  • 感谢您的回答,您的替代解决方案不适用于我,该网站有点复杂,因为我要在其中插入文本的元素是
    ,它会在何时自动切换到 span有人在键盘上打字
  • @MostafaSobh 你能分享一个指向该页面的链接或编造一个简单的可重现的例子吗?您输入的文本有多长?
  • 尝试在“await page.keyboard.type(data)”和“await page.click(buttonSelector)”之间添加“await page.waitForTimeout(3000)”
猜你喜欢
  • 2019-12-13
  • 1970-01-01
  • 2021-10-29
  • 2022-07-27
  • 2022-07-27
  • 1970-01-01
  • 2019-03-17
  • 2015-09-19
  • 1970-01-01
相关资源
最近更新 更多