자바 스크립트를 사용하여 사이트에서 일부 링크를 긁어 내려고합니다. 아래 HTML에는 'a'태그에 링크가 있습니다. 그리고 다음 JS를 사용하고 있습니다.
문제는 myChildList에서 링크를 가져올 수 없다는 것입니다.
myDownloadDiv를 console.log하면 출력이 개체 HTMLElement로 표시됩니다. myChildList (즉, HTMLElement의 자식)를 console.log하면 길이가 2이고 앵커 태그와 모든 속성이 포함 된 HTMLCollection [a.dropdown-item.disabled]와 같은 것이 표시됩니다. 링크.
루프를 사용하여 모든 요소를 console.log하려는 경우 하나의 요소 만 표시되고 출력은 다음과 같습니다.
<a class="dropdown-item disabled"></a>
HTMLCollection 목록을 구문 분석하는 동안 내가 뭔가 잘못하고 있는지 이해하지 못합니다.
var myDownloadDiv = document.getElementById("pickDownload");
var myChildList = myDownloadDiv.children;
console.log(myChildList);
for (var j of myChildList) {
console.log(j);
}
<div class="col-12 col-sm-3">
<div class="dropup">
<a href="" class="btn btn-secondary btn-block dropdown-toggle" id="downloadMenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Download
</a>
<div class="dropdown-menu" id="pickDownload" aria-labelledby="downloadMenu">
<a href="https://fainbory.com/4eQM" class="dropdown-item" target="_blank">
<span class="badge badge-primary">BD</span> Elysium - 720p (129 MB)
</a>
<a href="https://fainbory.com/4eQP" class="dropdown-item" target="_blank">
<span class="badge badge-primary">BD</span> Elysium - 1080p (239 MB)
</a>
</div>
</div>
</div>
편집하다:
나는 해결책을 시도했다. 그들은 스 니펫에서 완벽하게 작동하지만 내가 긁으려는 사이트 에서는 작동하지 않습니다 .
루프가 작동하는 것 같습니다.
아마도 당신은 이것을 의미
const links = [...document.querySelectorAll("#pickDownload a")].map(link => link.href);
console.log(links);
<div class="col-12 col-sm-3">
<div class="dropup">
<a href="" class="btn btn-secondary btn-block dropdown-toggle" id="downloadMenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Download
</a>
<div class="dropdown-menu" id="pickDownload" aria-labelledby="downloadMenu">
<a href="https://fainbory.com/4eQM" class="dropdown-item" target="_blank">
<span class="badge badge-primary">BD</span> Elysium - 720p (129 MB)
</a>
<a href="https://fainbory.com/4eQP" class="dropdown-item" target="_blank">
<span class="badge badge-primary">BD</span> Elysium - 1080p (239 MB)
</a>
</div>
</div>
</div>
여기 북마크릿이 있습니다
javascript:(function() { const links = [...document.querySelectorAll("#pickDownload a")].map(link => link.href); console.log(links))()
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다