【问题标题】:How do I convert a HTML table object to a string?如何将 HTML 表格对象转换为字符串?
【发布时间】:2020-08-24 19:07:59
【问题描述】:

我正在从网页上抓取一些 HTML,我正在尝试从页面上抓取一个表格元素并将其转换为 JSON。

我找到了一个执行此操作的节点 js 库,但它需要一个字符串作为参数。如何将 HTML 对象转换为字符串?当我调用它的 toString() 函数时,它返回:

"[object HTMLTableElement]"

我的代码是:

let data = await page.evaluate(() => {
    componentTable = document.querySelector('table.xs-col-12');
    componentTable = componentTable.toString()
    return{
        componentTable
    }
})
console.log(data)

【问题讨论】:

  • 可能你需要innerHTML属性
  • 我建议使用 outerHTML 来获取整个表格

标签: javascript html json web-scraping


【解决方案1】:

获取所有 HTML - 包括有问题的元素 - 作为字符串更改:

componentTable.toString()

收件人:

componentTable.outerHTML

【讨论】:

  • 可以在 jquery 而不是 javascript 中得到这个结果吗?
  • $('<div/>').append( componentTable ).html() 怎么样?见jQuery: outer html
【解决方案2】:

只需将 HTMLElement 转换为带有 toString() 的字符串,就会给出对象名称,就像您看到的那样。

您可能想使用innerHTML

return componentTable.innerHTML 将为您提供该表中的 html 字符串,这取决于您找到的节点库,可能不够,也可能不够。

值得查看该库的文档,因为他们可能有这样做的示例。

【讨论】:

    【解决方案3】:

    你要使用innerHtml,这是关键

    【讨论】:

      猜你喜欢
      • 2019-12-22
      • 2017-03-23
      • 2012-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多