浏览器控制台JS 提取章节目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
let topul=document.querySelector('ul.tree-ul.tree-top-ul');
let z1=topul.querySelectorAll('li[data-level="1"]');
txt=[];
i1=0;
z1.forEach(x1=>{
    i1++;
    i2=0;
    //打印一级章节
    t1=x1.querySelector('a').innerText;
    //console.log('1级标题:',t1);
    //查找二级章节
    z2=x1.querySelectorAll('li[data-level="2"]');
    z2.forEach(x2=>{
        i2++;
        i3=0;
        t2=x2.querySelector('a').innerText;
        //console.log('2级标题:',t2);
        z3=x2.querySelectorAll('li[data-level="3"]');
        z3.forEach(x3=>{
            i3++;
            i4=0;
            t3=x3.querySelector('a').innerText;
            //console.log('3级标题:',t3);
            z4=x3.querySelectorAll('li[data-level="4"]');
            if(z4.length!=0){
                z4.forEach(x4=>{
                    i4++;
                    i5=0;
                    t4=x4.querySelector('a').innerText;
                    //console.log('4级标题:',t4);
                    z5=x4.querySelectorAll('li[data-level="5"]');
                    if(z5.length!=0){
                        z5.forEach(x5=>{
                            i5++;
                        t5=x5.querySelector('a').innerText;
                        console.log(i1+t1,i2+t2,i3+t3,i4+t4,i5+t5);
                        //txt.push(i1+t1+' '+i1+'.'+i2+t2+' '+i1+'.'+i2+'.'+i3+t3+' '+i1+'.'+i2+'.'+i3+'.'+i4+t4+' '+i1+'.'+i2+'.'+i3+'.'+i4+'.'+i5+t5);
                        txt.push(i1+t1+' '+i1+'.'+i2+t2+' '+i3+t3+' '+i4+t4+' '+i5+t5);
 
                    })
                    }
                    else{
                        console.log(i1+t1,i2+t2,i3+t3,i4+t4);  
                        //txt.push(i1+t1+' '+i1+'.'+i2+t2+' '+i1+'.'+i2+'.'+i3+t3+' '+i1+'.'+i2+'.'+i3+'.'+i4+t4);
                        txt.push(i1+t1+' '+i1+'.'+i2+t2+' '+i3+t3+' '+i4+t4);
                    }
                }) 
            }
            else
            {//元素存入数组,结束
                console.log(i1+t1,i2+t2,i3+t3);
                //txt.push(i1+t1+' '+i1+'.'+i2+t2+' '+i1+'.'+i2+'.'+i3+t3);
                txt.push(i1+t1+' '+i1+'.'+i2+t2+' '+i3+t3);
 
            }
 
            })
        })
    })
 
 
// 创建一个Blob对象,包含要写入的文本
var blob = new Blob([txt.join('\r\n')], { type: 'text/plain' });
 
// 创建一个链接,指向这个Blob对象
var downloadUrl = URL.createObjectURL(blob);
 
// 创建一个<a>元素,用于下载文件
var link = document.createElement('a');
link.href = downloadUrl;
 
// 设置下载的文件名
link.download = 'data.txt';
 
 
// 触发点击事件,开始下载
document.body.appendChild(link);
link.click();
 
// 清理
URL.revokeObjectURL(downloadUrl);
document.body.removeChild(link);

  

posted @   wangway  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示