Javascript 使用Puppeter映射表子内容
我的目标是从不同的Javascript 使用Puppeter映射表子内容,javascript,puppeteer,Javascript,Puppeteer,我的目标是从不同的标记中获取.textContent,每个标记位于单独的中 我认为问题在于表变量,因为我没有为孩子检查正确的变量。当前,数据变量仅获取第一个,因此价格使用此代码进行计算。但是,数量和营业额没有。我认为这是一个简单的解决办法,但我就是想不出来 JavaScript: try { const tradingData = await page.evaluate(() => { let table = document.querySelector("#tradi
标记中获取.textContent
,每个标记位于单独的
中
我认为问题在于表
变量,因为我没有为孩子检查正确的变量。当前,数据
变量仅获取第一个
,因此价格
使用此代码进行计算。但是,数量
和营业额
没有。我认为这是一个简单的解决办法,但我就是想不出来
JavaScript:
try {
const tradingData = await page.evaluate(() => {
let table = document.querySelector("#trading-data tbody");
let tableData = Array.from(table.children);
let data = tableData.map(tradeData => {
console.log(tradeData);
let price = tradeData.querySelector(".quoteapi-price").textContent;
console.log(price);
let volume = tradeData.querySelector("quoteapi-volume").textContent;
console.log(volume);
let turnover = tradeData.querySelector("quoteapi-value").textContent;
console.log(turnover);
return { price, volume, turnover };
})
return data;
});
console.log(tradingData);
} catch (err) {
console.log(err);
}
HTML:
价格
$0.105
改变
0.005
(5.00%)
卷
5,119,162
人事变更率
$540,173
例如,这应该返回
price=“$0.11”
,volume=“3900558”
,营业额=“$412187”
,您只需要在需要多个表或tbodies时使用map
函数。在您的示例中,情况似乎并非如此,您可以这样做:
const tradingData=等待页面。评估(()=>{
let table=document.querySelector(“交易数据体”);
让价格=table.querySelector(“.quoteapi价格”).textContent;
让volume=table.querySelector(“.quoteapi volume”).textContent;
让营业额=table.querySelector(“.quoteapi值”).textContent;
返回{价格、数量、营业额};
});
控制台日志(tradingData);