puppeteer:如何循环遍历n -child并根据条件做一些事情?



Inside everytr我想从中获取日期td:n -child(2)并与今天的日期进行比较。如果它们相等,我想点击td:n -child(5)。我想对几个tr执行相同的过程.
我尝试使用循环,但是我收到了类似的错误祝辞错误:……的身体比;tr: nth-child祝辞(定义);Td:n -child(2)'不是一个有效的选择器。OR>ReferenceError: i is not defined

有谁能帮我一下吗?

const data = await page.evaluate(() => {
const date = document.querySelector('tbody > tr:nth-child('+i+') > td:nth-child(2)').innerText;
return date;
});
if (data === today) {
await page.click('tbody > tr:nth-child('+i+') > td:nth-child(5)');
}
})();

您的i变量在evaluate函数中不可用。

您需要将其作为pageFunction参数传递。

const data = await page.evaluate((i) => {
const date = document.querySelector('tbody > tr:nth-child('+i+') > td:nth-child(2)').innerText;
return date;
}, i);

page.evaluatedocumentation

参见如何将变量传递给求值函数?

最新更新