我正在使用Puppeteer填充输入框并单击按钮转到下一页。但问题是有时输入值太长而且在值完全插入输入框之前,单击按钮。如何解决这个问题。
await page.keyboard.type('input value'); //input
await page.click('#btn'); //button to clicked
await page.waitForNavigation({ waitUntil: 'networkidle2' });
await page.waitFor(1000);
答案 0 :(得分:1)
抱歉,我无法添加评论,我真的需要知道第一行代码之前的内容,但我认为是关注您的输入,所以会给你一个提示。
问题出在keyboard.type
我们没有承诺,测试继续运行。因此,我们需要删除focus
和keyboard.type
,然后使用page.type(selector, text[, options])
:
await page.type('#id_input', 'long input value');
这个问题会随着时间的推移而变得很普遍,所以我在项目中加入了20毫秒的减速;不是一个巨大的影响。
puppeteer.launch({slowMo: 20}).then(async browser => {...}