Javascript 无法分析HTMLCollection列表

Javascript 无法分析HTMLCollection列表,javascript,html,web-scraping,Javascript,Html,Web Scraping,我正试图用javascript从一个网站上删除一些链接。在下面的HTML中,我在“a”标记中有一些链接。我正在使用下面的JS 问题是我无法从myChildList获取链接 当I console.log myDownloadDiv时,它将输出显示为object HTMLElement。当我在console.log中记录myChildList(即HTMLElement的子级)时,我会得到一个类似HTMLCollection[a.dropdown-item.disabled]的东西,其中长度为2,包含

我正试图用javascript从一个网站上删除一些链接。在下面的HTML中,我在“a”标记中有一些链接。我正在使用下面的JS

问题是我无法从myChildList获取链接

当I console.log myDownloadDiv时,它将输出显示为object HTMLElement。当我在console.log中记录myChildList(即HTMLElement的子级)时,我会得到一个类似HTMLCollection[a.dropdown-item.disabled]的东西,其中长度为2,包含两个锚定标记以及它们的所有属性和链接

当我想使用循环记录所有元素时,它只显示一个元素,输出如下:

<a class="dropdown-item disabled"></a>

您的循环似乎正常

也许你是这个意思

constlinks=[…document.queryselectoral(“#pickDownload a”)].map(link=>link.href);
控制台日志(链接)

您的代码是正确的,并且在我的机器上工作正常,我认为您的console对象有问题

请尝试删除此导入 我怀疑控制台对象在那里被覆盖了

您可以在站点上验证这一点,只需在浏览器控制台中运行以下命令:

// Restore console object:
var i = document.createElement('iframe');
i.style.display = 'none';
document.body.appendChild(i);
window.console = i.contentWindow.console;

// Run your code:
var myDownloadDiv = document.getElementById("pickDownload");
var myChildList = myDownloadDiv.children;
console.log(myChildList);

for (var j of myChildList) {
  console.log(j);
}

我用
snippet
选项尝试了您的代码,控制台中记录了2个元素。@t下拉菜单默认是隐藏的。这有什么不同吗?如果你的意思是用CSS隐藏,那么CSS不应该影响这个控制台。记录结果。我给你做了一个片段。它看起来像预期的那样运行。这是指向我正试图抓取的站点的链接。我也不明白为什么这个代码段在这个网站上不起作用。这个代码段工作得很好,但在这个有问题的网站上却不起作用。请检查以下链接:在控制台中运行时适用于我这里有一个bookmarklet
javascript:(function(){const links=[…document.queryselectoral(#pick download a”)].map(link=>link.href);console.log(links))()
好的,所以我尝试了解决方案,当我下载整个页面并在HTML文件的脚本标记中添加JS时,效果非常好。感谢我之前使用Tampermonkey ext.在网站上运行JS代码。虽然我仍然不知道为什么我尝试这么做时Tampermonkey不工作。也许Tampermonkey脚本在页面之前运行加载完成了吗?这不是他的页面。我写的书签很好用