Javascript 用于(...的...)的 Puppeteer 代码
Javascript code to Puppeteer for(...of...)
我有以下 javascript 代码,我想在 puppeteer 中实现它,以执行类似的操作:
await page.click(myDivs[0])
const myDivs = [];
for (const div of page.querySelectorAll("div.b-swatch-value-wrapper")) {
if (div.querySelector("span.b-swatch-value--orderable") !== null) {
myDivs.push(div.b-swatch-value-wrapper);
}
}
我可能没解释清楚。
我想得到每个 div,其中包含 class "b-swatch-value-wrapper" +
有一个包含 class“b-swatch-value--orderable”的跨度子项。
(因为有些包含它,有些则没有)。
像这样显然行不通,但我该怎么做呢?提前谢谢你:)
page
是 Node.js 上下文中的 puppeteer 变量,而 querySelectorAll
和 querySelectorAll
是浏览器上下文中文档和元素的方法。这些上下文不能混合。一些可序列化的数据可以通过 page.evaluate()
和类似的函数在它们之间传输。您可以通过这种方式获得元素处理程序数组(但元素处理程序有自己的 API,请参阅 documentation 中的详细信息)。
const myDivs = [];
for (const div of await page.$$("div.b-swatch-value-wrapper")) {
if (await div.$("span.b-swatch-value--orderable") !== null) {
myDivs.push(div);
}
}
我有以下 javascript 代码,我想在 puppeteer 中实现它,以执行类似的操作:
await page.click(myDivs[0])
const myDivs = [];
for (const div of page.querySelectorAll("div.b-swatch-value-wrapper")) {
if (div.querySelector("span.b-swatch-value--orderable") !== null) {
myDivs.push(div.b-swatch-value-wrapper);
}
}
我可能没解释清楚。 我想得到每个 div,其中包含 class "b-swatch-value-wrapper" + 有一个包含 class“b-swatch-value--orderable”的跨度子项。 (因为有些包含它,有些则没有)。
像这样显然行不通,但我该怎么做呢?提前谢谢你:)
page
是 Node.js 上下文中的 puppeteer 变量,而 querySelectorAll
和 querySelectorAll
是浏览器上下文中文档和元素的方法。这些上下文不能混合。一些可序列化的数据可以通过 page.evaluate()
和类似的函数在它们之间传输。您可以通过这种方式获得元素处理程序数组(但元素处理程序有自己的 API,请参阅 documentation 中的详细信息)。
const myDivs = [];
for (const div of await page.$$("div.b-swatch-value-wrapper")) {
if (await div.$("span.b-swatch-value--orderable") !== null) {
myDivs.push(div);
}
}