【发布时间】:2022-01-26 08:18:49
【问题描述】:
我尝试使用 puppeteer 和 console.log 获取一个 div 到我的控制台。问题是我不知道如何获取具有“名称”属性的 div。
module.exports = {
name: 'market',
aliases: ['m'],
args: false,
description: 'get market info',
execute(message, args) {
async function market() {
try {
const URL = 'https://www.binance.com/en/trade/REQ_USDT?layout=basic'
const browser = await puppeteer.launch()
const page = await browser.newPage()
const navigationPromise = page.waitForNavigation({waitUntil: "domcontentloaded"});
await page.goto(URL)
await navigationPromise;
let data = await page.evaluate(() => {
let results = {}
let contents = document.querySelectorAll('.css-104s6ge')
contents.forEach((optiune) => {
results.push({
market1: optiune.querySelector('.css-14d05gv').innerText,
market2: optiune.querySelector('.css-1pysja1').innerText,
market3: optiune.querySelector('.css-m3c6zl').innerText,
market4: optiune.querySelector('.css-vjdxdv').innerText,
})
})
return results;
})
console.log(data);
await browser.close()
} catch (error) {
console.error(error)
}
}
market();
}
};
我尝试过使用类,但出现此错误: throw new Error('Unexpected extraInfo events for request ' + responseReceived.requestId);
编辑:我通过关闭 puppeteer 版本解决了错误,但现在我得到了一个空白数组。
【问题讨论】:
-
这能回答你的问题吗? JavaScript get element by name
-
您不得抓取这些内容:binance.com/en/terms 您不得使用任何深度链接、网络爬虫、机器人、蜘蛛或其他自动设备、程序、脚本、算法或方法,或任何类似或等效的手动过程来访问、获取、复制或监视属性的任何部分...
-
为 js 尝试 getElementByName 例如:document.getElementsByName("css-104s6ge");
标签: javascript node.js