是一个包含单个 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 的数组,而接收到的输出是一个空数组
发布评论