Javascript 如何瞄准多个相同的“目标”;输入[类型=”文件“]”;在Pupeteer?

Javascript 如何瞄准多个相同的“目标”;输入[类型=”文件“]”;在Pupeteer?,javascript,indexing,puppeteer,jest-puppeteer,puppeteer-cluster,Javascript,Indexing,Puppeteer,Jest Puppeteer,Puppeteer Cluster,我在Pupeter中有一个页面,我试图启动一个文件上传,它需要上传按钮。问题是启动文件上载的两个按钮的类型和选择器都相同。此工作代码允许我将文件上传到第一个文件输入 input = await mainpage.$('input[type="file"]'); await input.uploadFile(`${__dirname}/images/${photoID}.png`); await mainpage.waitFor(500); 现在我的问题是

我在Pupeter中有一个页面,我试图启动一个文件上传,它需要上传按钮。问题是启动文件上载的两个按钮的类型和选择器都相同。此工作代码允许我将文件上传到第一个文件输入

input = await mainpage.$('input[type="file"]');
     await input.uploadFile(`${__dirname}/images/${photoID}.png`);
     await mainpage.waitFor(500);

现在我的问题是-有没有一种方法可以让我以编程的方式在pupeter中以页面上的file类型的第二个输入为目标?因为它们都具有相同的文件选择器id等输入类型。。我可以用同样的代码做一些索引吗?我尝试了所有其他方法,由于选择器是相同的,这是我获得第一个用于页面的方法的唯一方法。

使用
页面。$$
API获取所有匹配元素的列表。如上所述,它返回一个匹配元素的数组,然后您应该能够为该数组编制索引。例如:

//获取选择器的所有元素
输入=等待主页。$$('input[type=“file”]”);
//关于个别要素的工作
等待输入[0]。上载文件(`${uu dirname}/images/${photoID}.png`);
...

非常感谢您!