预期的输出是一个包含单个 URL 的数组,而接收到的输出是一个空数组

编程入门 行业动态 更新时间:2024-10-08 18:32:32

预期的输出<a href=https://www.elefans.com/category/jswz/34/1771133.html style=是一个包含单个 URL 的数组,而接收到的输出是一个空数组"/>

预期的输出是一个包含单个 URL 的数组,而接收到的输出是一个空数组

我使用 nodejs 制作了一个网络爬虫,但 1 个测试用例失败了,我怀疑这是因为预期输出是一个包含单个 URL 的数组,而接收到的输出是一个空数组。

这是我做的测试:

test ('getURLSFromHTML', () => {
    const inputHTMLBody = `
    <html>
    <body>
        <a href="/">
        Go to Boot.dev>
        </a>
    </body>
</html>
    `

    const input = "/"
    const actual = getURLSFromHTML(input, inputHTMLBody)
    const expected = ['']
    expect(actual).toEqual(expected)
})

这是

getURLSFromHTML
功能

const { JSDOM } = require('jsdom');


function getURLSFromHTML(htmlBody, baseURL) {
    const urls = []
    const dom = new JSDOM(htmlBody);
    const LinkElements = dom.window.document.querySelectorAll('a')
    for(const link of LinkElements) {  
        urls.push(link.href);
    }
    return urls
}


function normalizeURL(urlString) {
    const urlObj = new URL(urlString)
    return `${urlObj.hostname}${urlObj.pathname}`
  }
module.exports = {
    normalizeURL,
    getURLSFromHTML
}

错误是这个

我被卡住了,不知道如何解决这个问题。请帮帮我。真的很感激!

回答如下:

更多推荐

预期的输出是一个包含单个 URL 的数组,而接收到的输出是一个空数组

本文发布于:2024-05-13 16:43:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1760136.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:是一个   数组   URL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!