cheerio:无法在DOM节点上迭代

问题描述

我想铲除美国的所有州。因此,我在控制台面板中试用了一些代码,一切正常。我尝试过的:

var table = $('caption:contains("States of the United States of America")').parent()

table.find('tbody tr').each((i,element)=> {
  $element = $(element)
  console.log($element.text())
})

哪个返回那些表行。但是在我尝试在我的javascript文件中实现相同代码后不久,事情就出错了。他们在终端上没有任何控制台。

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

const page_url =
  'https://en.wikipedia.org/wiki/List_of_states_and_territories_of_the_United_States';

(async function getUsstates() {
  const data = await axios.get(page_url);
  const $ = cheerio.load(data);
  var table = $(
    'caption:contains("States of the United States of America")'
  ).parent();

  // take the element and turn into a jquery collection in order to use .text()
  table.find('tbody tr').each((i,element) => {
    $element = $(element);
    console.log($element.text());
  });
})();

我猜我的代码从未进入循环(每个循环)。我不知道哪里出了问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)