问题标签 [jsdom]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Node.js 抓取,转换图片 src -> 完整 URL
我正在使用 Cheerio (https://github.com/MatthewMueller/cheerio) 来抓取网站并获取我正在从事的项目的图像。我想知道 Node.js(或其他包)是否有一种简单的方法可以将 $(img).attr('src') 转换为完全限定的 URL?有时我会得到“image.jpg”,有时会得到“../../image.jpg”,有时会得到“//somepath/image.jpg”。也许我只是缺少某种正则表达式...感谢您的时间:)
javascript - 如何在jsdom中执行外部脚本
我在 products.js 文件中有一个方法,如下所示:
并希望在 jsdom env 回调中执行它:
执行时,它告诉我“未定义处理程序”。我接近了吗?
jquery - jsdom:使用 jQuery 将脚本附加到正文
如何使用 jsdom 和 jQuery 将脚本附加到 DOM 主体?使用的明显答案$('body').append('<script src="..."></script>')
实际上最终会在文档中添加脚本head
。
这是我正在测试的基本 node.js 脚本:
这会导致以下内容:
有趣的是,如果您在其中添加了一个空格,<sc ript src="..."></script>
则会正确附加,所以某些东西(我希望是 jsdom)正在劫持这个脚本,因此它可以添加 cachebuster(?) 并将其放在标题中。是什么导致了这种情况,我该如何防止它发生,所以它会附加脚本?
物有所值,
javascript - 使用 jsdom 和 jasmine-node 未定义的窗口
我有一个文件runspecs.js
初始化一些全局对象,如窗口和文档
现在我在 specs 目录下的唯一文件是 socrates.spec.coffee 及其编译文件 socrates.spec.js:
现在,由于新的苏格拉底没有失败,我们知道至少 global.Socrates 正在通过。它使用 document 和 document.cookie,所以这些也没关系。为什么窗口未定义?
node.js - Node.io、JSDOM 还是 PhantomJs ?或者,YQL-data.html.cssselect?
我需要爬取特定的网站以挖掘出一些相关信息。看起来首先我必须搜索该站点以获取相应的 URL,当被抓取时会给我详细的信息。
假设,搜索 url 是
这意味着,位置和页面可以有city2、city3等。category可以是category2、category3等。
我收集了所有可以递增的城市、类别、位置和页面,直到结果不为空。
得到所有 URL 后,我将不得不从每个 URL 中挖掘出详细信息。我已经看到某些必要的信息作为 javascript 的一部分提供。
现在,我已经看到了 node.io、jsdom 和 phantomjs。我也看过yql。由于我是新手,请根据您的经验建议我,在这种情况下哪个是理想的。
如果你能举出一些例子,那就太棒了。
node.js - jsdom - document.querySelector 已启用,但文档中缺少
我想使用 JSDo 来执行一些基于服务器的 DOM 操作。但是,尽管明确启用了 querySelector,但它在创建的文档中是未定义的:
然而:
退货
如何使用 jsdom 使 document.querySelector 正常工作?