首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Puppeteer.Iteration elementHandle阵列问题

Puppeteer.Iteration elementHandle阵列问题
EN

Stack Overflow用户
提问于 2018-01-02 01:22:25
回答 1查看 539关注 0票数 0

请帮助我达到预期的效果。我将在页面上的每个输入字段中填充一个文本:'123‘。

代码语言:javascript
复制
let inputList = await page.$$('.form input');
inputList.map(async item => {
   await item.type('123');
});

预期结果-每个字段123个。

实际结果-最后一个输入字段为112233。

page.$$(selector) API

EN

回答 1

Stack Overflow用户

发布于 2018-03-08 03:20:47

在一般意义上,您正在尝试迭代数组并对数组中的每一项执行异步操作。您可以通过几种方式来实现这一点,for ... of循环是一种方式。如果你不想循环,而是想要迭代,你可以这样做:

代码语言:javascript
复制
await inputList.reduce(async (previousVal, currentVal) => {
    await previousVal; // wait for the promise returned by the previous asynchronous call
    return currentVal.type('123'); // call the next elementHandle in the array
}, Promise.resolve()); // the initial value that is passed to the callback function
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48051709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档