如何用javascript抓取页面中的所有链接

How to scrape all links in a page with javascript

本文关键字:链接 何用 javascript 抓取      更新时间:2023-09-26

我想写一个chrome扩展来改变所有的href在一个页面使用这个代码

var a = document.querySelector("a[href]");
a.href = "http://www.google.com";

但是这个代码只获取第一个href,但只有当它没有嵌入到另一个属性(如果术语是错误的,我的意思是div, p, h等)

谁能告诉我如何获取所有的三个,无论什么?

文档。querySelector只返回文档中的第一个元素,因此在本例中您将希望使用document。querySelectorAll返回所有匹配元素的列表。

var elements = document.querySelectorAll('a');
for (var i = 0; i < elements.length; i++) {
  elements[i].href = 'http://google.com';
}

,但只有当它没有嵌入到另一个属性(如果术语是错误的,我的意思是div, p, h等)

我相信你说的是标签而不是属性。要选择具有href属性的所有标记,请执行以下操作:

var list = document.querySelectorAll("*[href]");
for(var i = 0; i < list.length; i++){
    list[i].href = "http://www.google.com";
}