// ==UserScript== // @name 百度批量离线 // @namespace https://greasyfork.org/users/63665 // @version 0.2 // @description 批量离线辅助脚本 // @author fenghengzhi // @match http://pan.baidu.com/disk/* // @match http://yun.baidu.com/disk/* // @grant none // @run-at document-end // @note v0.2 好用多了,就是有点难看 // @require https://code.jquery.com/jquery-3.1.0.min.js // @downloadURL none // ==/UserScript== var urls; var i; function add_multi_button(){ if($("#offlinelist-dialog").css("display")!="block") return setTimeout(arguments.callee,100); $("#offlinelist-dialog").find(".dialog-control").children().click(); var a=$("#_disk_id_2"); var b=a.clone(); b.find(".text").text("批量离线"); b.attr('id','multi_download'); b.click(function(){ urls=prompt("请输入下载链接,用英文逗号隔开").split(","); Multi_offline(); }); a.after(b); } function wait_page_complete(){ $("span:contains('离线下载')[class='text']").click(); add_multi_button(); } (function() { 'use strict'; setTimeout(wait_page_complete,1000); // Your code here... })(); window.Multi_offline=function(urls){ $('#_disk_id_2').click(); i=0; offline_download(); }; function offline_download(){ $("#_disk_id_2").click();//点击新建按钮 wait_newoffline_dialog(); } function wait_newoffline_dialog(){//等待新建窗口 if($("#newoffline-dialog").css("display")!="block") return setTimeout(arguments.callee,1000); $("#share-offline-link").val(urls[i]); $("#newoffline-dialog").find("span:contains('确定')[class='text']").click();//确定按钮 check_code(); } function check_code(){ if($("#offlinelist-dialog").css("display")!="block" && $("#dialog1").css("display")!="block") return setTimeout(arguments.callee,100); if($("#dialog1").css("display")=="block"){//弹出验证码 wait_checkcode_input(); } else wait_complete();//没有弹出验证码 } function wait_checkcode_input(){ $("#dialog1").find(".input-code").focus(); if($("#dialog1").find(".input-code").val().length!=4) return setTimeout(arguments.callee,100); $("#dialog1").find("span:contains('确定')[class='text']").click(); check_verify(); } function wait_complete(){ if($("#offlinelist-dialog").css("display")!="block") return setTimeout(arguments.callee,1000); i++; if(i>=urls.length) return;//批量下载完成,脚本结束 else offline_download(); }