zoukankan      html  css  js  c++  java
  • 利用chrome console批量下载文件

    因工作需要,需要定期从某页面下载多个文档,是体力活。

    想用chrome扩展,找了几个不行。原因是:

    1、有的扩展识别不了链接,因为链接是形如:jsp?XXX=XXX的形式

    2、有的扩展能批量打开链接,但打开的太快了或其他原因,触发了验证码。

    想用chromedp模拟操作,感觉大材小用,也懒得费事。

    决定还是用比较简单的chrome console

    参考以下代码(https://bbs.csdn.net/topics/392177700?list=31152598

    (function () {
        var arr = ["https://www.baidu.com/","http://url2","http://url3"];
        var nw = window.open();
        var i = 0;
        function op() {
            console.log(arr[i]);
            nw.location = arr[i];
            i++;
            if (i<arr.length)
                setTimeout(op, 5000);
        }
        op();
    })();

    我写的代码如下:其中用了正则/owner=/.test(aa[i].href)匹配链接:

    (function () {
        var aa=$("a");
        var arr=[];
        for(var i=0;i<aa.length;i++){
          if(/owner=/.test(aa[i].href)){
          arr.push(aa[i].href);
        }
        }
        var nw = window.open();
        var i = 0;
        function op() {
            console.log(arr[i]);
            nw.location = arr[i];
            i++;
            if (i<arr.length)
                setTimeout(op, 5000);
        }
        op();
    })();

    因为我在页面上用代码访问链接时,会直接下载word。所以在启动脚本的时候,chrome会提示:想要下载多个文件?             允许就可以了。

    实际使用中没有触发验证码,终于不用一个个点击鼠标右键另存为了。

    后来发现这里有一个疑惑之处:我用的是$("a"),而不是$$("a"),竟然也能成功!

    更好的选择办法:可以不用正则表达式,用“子串匹配属性选择器”好像更方便些,如:$("a[href*=要匹配的部分URL内容]")

    补充:之前用以下代码,chrome只能打开一个新窗口

    var nw  =window.open("https://www.sohu.com","one");
    var nw1  =window.open("https://www.cnblogs.com","two");

    后来发现,浏览器为了安全考虑是不会让浏览器一次打开多个窗口的,不过如果用户需要是可以在浏览器里面进行设置的,chrome中chrome://settings/content/popups,设置为允许即可。(参考:https://blog.csdn.net/Tayshin/article/details/73614854

  • 相关阅读:
    MariaDB + Visual Studio 2017 环境下的 ODBC 入门开发
    CUDA 9.1/9.2 与 Visual Studio 2017 (VS2017 15.6.4) 的不兼容问题
    用 SDL2 在屏幕上打印文本
    用 SDL2 处理精灵图
    用 SDL2 进行事件驱动编程
    用 SDL2 加载PNG平铺背景并显示前景
    用 SDL2 平铺背景并显示前景
    用 SDL2 显示一张图片
    VPS 安全措施(CentOS 6)
    Hello World!
  • 原文地址:https://www.cnblogs.com/pu369/p/11987502.html
Copyright © 2011-2022 走看看