返回下载页面中的所有链接的JavaScript [英] javascript to return all links in download page

查看:39
本文介绍了返回下载页面中的所有链接的JavaScript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在EDGE上下载了一些书,但遗憾的是浏览器不再显示紫色的访问链接,我不想下载重复的文件(EDGE只是重命名重复的文件,其他下载管理器只是下载它,然后询问你该怎么做)。因此,我求助于一个只能捕获EDGE下载页面中的所有链接并将它们导出到外部文件的Java代码,在外部文件中,我将编写另一个脚本来比较该文件中的链接和打开的链接

JS代码:

    function findButton() {
  var buttons = document.querySelectorAll('button');
 for (var i = 0; i < buttons.length; i++) {

var elem = buttons[i];
var text = elem.textContent || elem.innerText;
if (text.includes("htt")){}
else {text = 0;}
      return text
  }  
}

var x = findButton();
alert(x);

检查元素:

<button class="c0124348" id="open_link292" role="link" aria-label="https://onlinelibrary.wiley.com/doi/pdfdirect/10.1002/9780470132586">https://onlinelibrary.wiley.com/doi/pdfdirect/10.1002/9780470132586</button>

Sript仅返回First按钮的值,即(下载列表按钮)=0。

注意:

  1. 按钮的属性和类名中没有任何东西是静态的(类名和ID更改)

  2. 如果您对此问题有更简单的解决方案(检查下载文件是否已存在于目标中的下载管理器或任何其他解决方案),那么我想尝试一下。

推荐答案

我编辑了代码,现在它运行正常

    function findButton() {
  var buttons = document.querySelectorAll('button');
             var arr = [];
 for (var i = 0; i < buttons.length; i++) {
     var elem = buttons[i++];
var text = elem.textContent || elem.innerText;
     arr.push(text);
 }
      return arr
}

var x = findButton();
alert(x);
  1. 我忘了像Kevin B指出的那样形成一个数组,所以我声明了arr一个空数组

  2. Return语句放在了错误的行中,它应该放在for循环中

这篇关于返回下载页面中的所有链接的JavaScript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆