我在Puppeteer上抓了一个网站。 像这样的代码:
const data = await page.evaluate(() => {
const trs = Array.from(document.querySelectorAll('table tr'));
let results = [];
trs.forEach(tr => {
let r = {};
r["cell"] = tr.querySelectorAll('td:nth-child(3)')[0].innerText;
const input = tr.querySelectorAll('input[name="number"]');
if (input.length > 0) {
r["number"] = input[0].value;
}
results.push(r);
});
return results;
});
我希望我可以得到这样的“数据”:
*实际上,这是Chrome DevTools的结果。
[
{cell: "a", input: "b"},
{cell: "c", input: "d"}
]
但是当我使用Puppeteer运行它时,结果是:
[
{cell: "a"},
{cell: "c"}
]
它们之间有区别吗?还是其他?
答案 0 :(得分:0)
我不知道这是否是准确的答案。
但是,它似乎无法从选择器'input[name="number"]'
抓取值。
我用'input[type="hidden"]'
重写了它,可以正常工作。