【问题标题】:Unable to get the innerHTML of a div tag无法获取 div 标签的 innerHTML
【发布时间】:2020-12-14 10:06:30
【问题描述】:

我正在尝试从以下 html 中获取单词 thooty smotty

<div class="server-name">
                            thottysmotty                        </div>

我尝试在控制台中运行以下查询 - doucument.queryselectorall('.server-name').innerHTML 但我没有得到任何值 wud 是正确的陈述。

【问题讨论】:

标签: javascript html google-chrome jquery-selectors puppeteer


【解决方案1】:

在 puppeter 中,您可以使用 page.$eval 来检索 innerHTML:

const innerHtml = await page.$eval('.server-name', el => el.innerHTML)

如果有更多具有相同类名的元素,请使用page.$$eval 并遍历返回的元素数组:

const innerHtmlArray = await page.$$eval('.server-name', elements => elements.map(el => el.innerHTML))

在 Chrome 控制台上,您可以使用以下命令对其进行测试:$('.server-name').innerHTML 或 $$('.server-name')[i].innerHTML(如果是第一个匹配元素 i = 0)。

【讨论】:

    【解决方案2】:

    Document.querySelectorAll() 返回一个元素列表,因此您必须遍历该列表

    const elementList = document.querySelectorAll('.server-name');
    for (const element of elementList) {
      console.log(element.innerHTML)
    }
    &lt;div class="server-name"&gt;thottysmotty&lt;/div&gt;

    参考

    Document.querySelectorAll()(语法>返回值)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-13
      • 2014-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多