cheerio (Node.js) 的选择器在控制台中工作但不在我的脚本中

Selector for cheerio (Node.js) working in console but not in my script

我正在编写一个简单的脚本来从网站上抓取货币 table。

到目前为止,这是我的脚本,我想做的是从该网站获取 table 的外汇汇率:https://www.bangkokbank.com/en/Personal/Other-Services/View-Rates/Foreign-Exchange-Rates

到目前为止,这是我的代码。

const cheerio = require('cheerio');
const request = require('request');

request({
    method: 'GET',
    url: 'https://www.bangkokbank.com/en/Personal/Other-Services/View-Rates/Foreign-Exchange-Rates'
}, (err, res, body) => {

    if (err) return console.error(err);
    let $ = cheerio.load(body);
    var x = [];
    var hello = $("#exchange-rates > div.table-outer > table > tbody> tr > td");
    
    console.log(hello);


    $("#exchange-rates > div.table-outer > table > tbody> tr > td").each((i, elem) => {
        x.push($(elem).text());
        console.log($(elem).text());
    });
    
});

当我在网页的控制台中 运行 "$("#exchange-rates > div.table-outer > table > tbody> tr > td")" (通过单击检查),它能够识别所有相关元素。但是当我 运行 JavaScript.

中的脚本时,它没有得到任何东西

有人可以指点一下吗?谢谢!

给定的路径在静态网站中不存在。本网站动态呈现内容,即,一旦在浏览器上传送 Web 内容,就会发生进一步的 DOM 操作以呈现数据。所以,静态网页只有"#exchange-rates > div.table-outer > table > tbodytrtd 标签在浏览器上获取后会被附加。您可能需要查看任何其他替代解决方案来获取外汇汇率,例如使用任何现有的 API。