本帖最后由 qingseyouran 于 2022-3-6 22:15 编辑
谢谢几位坛朋的帮忙,不过还是不行。 只能弄个间接的, 把代码里的downloadPic(pageCurrent)删除,手动点可以下载一页,一直点可以顺序下载,到时再配合个自动化脚本。 有空再研究了。 有大佬的话,帮忙再研究研究。
下面代码下载太快了,过一会就会下载失败,想添加个延时,非码农,不懂js,网上找了半天弄不好,麻烦大佬指教下。
if(document.location.pathname.indexOf("onlinebook")>0){ document.body.oncontextmenu = "" var pageTotal = 0; var picUrl = "" //从0开始,为实际页码减一 var pageCurrent = 0; //下载指定页面图片 function downloadPic(page) { picUrl = path + "&pageNo=" + page ; fetch(picUrl).then(res => res.blob().then(blob => { var a = document.createElement(‘a’); var url = window.URL.createObjectURL(blob); var filename = page + ‘.jpg’; a.href = url; a.download = filename; a.click(); window.URL.revokeObjectURL(url); if(pageCurrent<pageTotal){ pageCurrent++; downloadPic(pageCurrent); } })) } //批量下载 function batchDownload() { pageTotal = document.getElementById("sumNumb").innerText – 1; downloadPic(pageCurrent) } //创建下载按钮 var downloadBtn = document.createElement("a"); downloadBtn.innerText = "批量下载全书"; downloadBtn.onclick = function () { batchDownload() }; document.querySelector("body > div.divcenter > div.bq > div.bqmiddle > div.ml").appendChild(downloadBtn); } |