【问题标题】:JSDom's querySelectorAll function not retrieving elements inside of <div>JSDom 的 querySelectorAll 函数不检索 <div> 内的元素
【发布时间】:2019-10-22 07:55:02
【问题描述】:

jsdom 版本 15.1.1 jest 版本 24.9.0 node.js 版本 10.16.0

我正在尝试使用

从离线 html 页面获取信息
var summaryInfo = document.querySelectorAll(".className");
Array.prototype.slice.call(summaryInfo).forEach(n => ... }

在这种情况下,应该返回 6 个信息数组,但我只得到 2 个

相同的代码在普通浏览器中运行良好,但是当我将 jsdom 与 jest 一起使用时,就会出现这个问题

我输入了一个日志来查看正在传递的内容,发现最外面的标签是&lt;li&gt;,里面的所有东西都应该是这样,但是对于其他元素,最外面的标签是一个&lt;div&gt; 有趣的是里面什么都没有。

我还检查了我从中绘制的 html 文档,以确保那些 &lt;div&gt; 元素确实不是空的,它们也不是。

您能提供的任何帮助将不胜感激!

提前谢谢你。

【问题讨论】:

    标签: jestjs jsdom


    【解决方案1】:

    事实证明,HTML 页面有一个结构,其中一些 &lt;li&gt; 标记没有包围 &lt;ul&gt; 容器。虽然这适用于 Chrome 和 Firefox 等浏览器,但这更多是因为浏览器旨在纠正此类问题。本质上,我的问题在于我尝试使用的 HTML 页面,我无法纠正。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-26
      • 2017-10-07
      • 1970-01-01
      • 2011-08-01
      相关资源
      最近更新 更多