如何通过类名获取一个网站的所有链接,拆分网站名称,并存储在一个数组中

How to get all links from a website by className, split the website name, and store within an array

我正在尝试从 Gmail 获取所有 link 并将它们存储在一个数组中。我正在尝试让所有电子邮件都这样存储 -

function gmailGetAllLinks(){
  var classname = document.getElementsByClassName('AO');
  var array1 = [];
  for(i=0;i<classname.length;i++){
      var str = classname[i].getElementsByTagName('a')[0].href;
      var res = str.split("?"); 
      array1.push(res[0]);

  }
  window.alert(array1)
  warningPopup()
}

当我尝试将数组打印为 phishingWebsites.append = array1; 时,它显示为 null,而 window.alert 仅显示第一个 link.

使用 querySelectorAll('.AO a') 定位所有这些锚点更简单。

然后你可以把那个集合变成一个数组然后用Array#map()得到结果

function gmailGetAllLinks(){
  const links = Array.from(document.querySelectorAll('.AO a')).map(link => {
      const url = new URL(link.href);
      url.search = '';
      return url.toString();
  })
  
 console.log(links)
}

gmailGetAllLinks()
.AO{ padding: 1em; border:2px solid #ccc; margin: 1em}
a{display: block; margin-bottom:1em}
<div class="AO">
  <a href="https://google.com?q=foo">Google</a>
  <a href="https://samsung.com?q=foo">Samsung</a>
</div>

<div class="AO">
  <a href="https://facebook?q=foo">Facebook</a>
  <a href="https://wikipedia.com?q=foo">Wikipedia</a>
</div>