获取手机电池信息

1
adb shell dumpsys battery

不同的手机输出的结果可能不一样。

adb -s 75aed56d shell dumpsys battery

下面是oppo手机的的输出结果:

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
G:\dev2>adb -s 75aed56d shell dumpsys battery
Current OPPO Battery Service state:
Charger voltage : 4576
Battery current : 121
Accessory present:false
Accessory status: 0
Accessory capacity: 0
Chargetimeout: false
Chargesocfall: false
ChargerTechnology: 1
ChargeFastCharger: false
PlugType: 1
UpdatesStopped: false
LowBatteryVoltageWarningLevel: 3300
HighBatteryVoltageWarningLevel: 4500
LowChargerVoltageWarningLevel: 4400
HighChargerVoltageWarningLevel: 40
TomorrowLowBatteryWarningLevel: 40

Current Battery Service state:
AC powered: true
USB powered: false
Wireless powered: false
status: 5
health: 2
present: true
level: 100
scale: 100
voltage: 3914
temperature: 314
technology: Li-ion

G:\dev2>

adb -s U8ENW17C13004746 shell dumpsys battery

下面是荣耀手机的输出结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
G:\dev2>adb -s U8ENW17C13004746 shell dumpsys battery
Current Battery Service state:
AC powered: false
USB powered: true
Wireless powered: false
Max charging current: 900000
Max charging voltage: 5000000
Charge counter: 943000
status: 2
health: 2
present: true
level: 68
scale: 100
voltage: 3890
temperature: 270
technology: Li-poly

G:\dev2>

adb -s U8ENW18119024027 shell dumpsys battery

下面是另一个荣耀手机的输出结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
G:\dev2>adb -s U8ENW18119024027 shell dumpsys battery
Current Battery Service state:
AC powered: false
USB powered: true
Wireless powered: false
Max charging current: 900000
Max charging voltage: 5000000
Charge counter: 1000
status: 5
health: 2
present: true
level: 100
scale: 100
voltage: 4371
temperature: 240
technology: Li-poly

G:\dev2>

我们主要看**Current Battery Service state:**之后的信息就行了。

命令分析

1
2
3
4
5
6
7
8
9
10
11
12
AC powered: false       #是否使用充电器充电
USB powered: true #是否使用USB充电
Wireless powered: false #是否无线充电
status: 1 #电池状态:2:充电状态 ,其他数字为非充电状态 2:正充电;3:没插充电器;4:不充电; 5:电池充满
health: 2 #电池健康状态:2:良好; 3:过热; 4:无用的; 5:超压; 7:温度过低
present: true #电池是否安装在机身
level: 55 #电量: 百分比
scale: 100
voltage: 3977 #电池电压
current now: -335232 #电流值,负数表示正在充电
temperature: 335 #电池温度,单位是0.1摄氏度
technology: Li-poly #电池种类=

切换电池为非充电状态

切换手机电池为非充电状态:

1
adb shell dumpsys battery set status 1

这个命令执行之后我发现,电池的电量一直是100%,并且插上充电线之后,也没显示充电。手机重启后再充电就正常了。

设置电池为充电状态

1
adb shell dumpsys battery set status 2

这个命令执行之后,我发现,手机一直处于充电状态。电池电量一直保持不变。拔掉数据线之后,手机还是显示在充电,充电指示灯也一直亮着。

复位,恢复实际状态

1
adb shell dumpsys battery reset

获取整个设备的电量消耗信息

1
adb shell dumpsys batterystats  | more

获取某个apk的电量消耗信息

1
adb shell dumpsys batterystats  包名 | more

模拟断开充电(实际还在充电)

参考资料

https://www.cnblogs.com/guozhijiang/p/7092209.html

https://www.cnblogs.com/xiaobaibailongma/p/13284028.html

https://www.cnblogs.com/lialong1st/p/8297928.html

https://www.jianshu.com/p/9636d17907b7

需求

写一个批处理里脚本,检测手机的电池电量,如果低于80,则充电,如果电量到达100,则停止充电。

adb列出手机上安装的所有apk

1
adb shell pm list package

上门的命令会列出所有的APP。

adb列出非官方APP

一个手机中可能安装了好多APP,在cmd中,可以结合使用findstr命令进行筛选。

cmd中筛选出不满足条件的行:findstr /V 条件

注意上门的/V要是大写的

adb列出不包含某字符串的包名

例如:列出OPPO手机中不包含android,不包含oppo,不包含colloros,不包含qualcomm(高通), 不包含google,不包含com.nearme的包名:

1
adb -s 75aed56d shell pm list package |findstr /V android| findstr /V oppo| findstr /V com.coloros |findstr /V qualcomm| findstr /V google| findstr /V com.nearme

运行结果如下:

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
C:\\Users\\haha>adb -s 75aed56d shell pm list package |findstr /V android| findstr /V oppo| findstr /V com.coloros |findstr /V qualcomm| findstr /V google| findstr /V com.nearme
package:com.gnss.power
package:com.qti.service.colorservice
package:com.quicinc.cne.CNEService
package:com.jifen.qukan
package:com.sohu.inputmethod.sogouoem
package:com.iflytek.speechcloud
package:com.tencent.mm
package:org.codeaurora.bluetooth
package:com.taobao.litetao
package:se.dirac.acs
package:com.dropboxchmod
package:org.codeaurora.ims
package:com.xm.freader
package:com.qti.xdivert
package:com.genymobile.gnirehtet
package:com.color.uiengine
package:com.svox.pico
package:com.dsi.ant.server
package:com.qti.backupagent
package:com.coolapk.market
package:com.cleanmaster.sdk
package:cn.youth.news
package:com.ximalaya.ting.lite
package:com.baidu.map.location
package:com.criticallog
package:com.kmxs.reader
package:com.taobao.taobao
package:com.taobao.live

C:\\Users\\haha>

adb列出安装包关联的文件

1
adb shell pm list packages -f

示例

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
D:\Desktop>adb -s 75aed56d shell pm list package -f |findstr /V android| findstr /V oppo| findstr /V com.coloros |findstr /V qualcomm| findstr /V google| findstr /V com.nearme| findstr /V bluetooth
package:/system/app/GnssPowerSaver/GnssPowerSaver.apk=com.gnss.power
package:/system/vendor/app/colorservice/colorservice.apk=com.qti.service.colorservice
package:/system/priv-app/CNEService/CNEService.apk=com.quicinc.cne.CNEService
package:/data/app/com.jifen.qukan-1/base.apk=com.jifen.qukan
package:/data/app/com.sohu.inputmethod.sogouoem-1/base.apk=com.sohu.inputmethod.sogouoem
package:/system/app/IFlySpeechService/IFlySpeechService.apk=com.iflytek.speechcloud
package:/data/app/com.tencent.mm-2/base.apk=com.tencent.mm
package:/data/app/com.taobao.litetao-2/base.apk=com.taobao.litetao
package:/system/app/DiracAudioControlService/DiracAudioControlService.apk=se.dirac.acs
package:/system/app/OppoDropboxChmodService/OppoDropboxChmodService.apk=com.dropboxchmod
package:/system/vendor/app/ims/ims.apk=org.codeaurora.ims
package:/data/app/com.xm.freader-1/base.apk=com.xm.freader
package:/system/app/xdivert/xdivert.apk=com.qti.xdivert
package:/data/app/com.genymobile.gnirehtet-1/base.apk=com.genymobile.gnirehtet
package:/system/app/ColorUIEngine/ColorUIEngine.apk=com.color.uiengine
package:/system/app/PicoTts/PicoTts.apk=com.svox.pico
package:/system/app/AntHalService/AntHalService.apk=com.dsi.ant.server
package:/system/app/QtiBackupAgent/QtiBackupAgent.apk=com.qti.backupagent
package:/data/app/com.coolapk.market-1/base.apk=com.coolapk.market
package:/system/app/Cleanmaster64/Cleanmaster64.apk=com.cleanmaster.sdk
package:/data/app/cn.youth.news-1/base.apk=cn.youth.news
package:/data/app/com.ximalaya.ting.lite-2/base.apk=com.ximalaya.ting.lite
package:/system/app/NetworkLocation/NetworkLocation.apk=com.baidu.map.location
package:/system/app/OppoCriticalLogService/OppoCriticalLogService.apk=com.criticallog
package:/data/app/com.kmxs.reader-1/base.apk=com.kmxs.reader
package:/data/app/com.taobao.taobao-1/base.apk=com.taobao.taobao
package:/data/app/com.taobao.live-1/base.apk=com.taobao.live

adb输出禁用的包

1
adb shell pm list packages -d
1
2
3
4
5
D:\Desktop>adb -s 75aed56d shell pm list packages -d
package:com.oppo.market
package:com.oppo.reader

D:\Desktop>

adb输出启用的包

输出本机启用的包

1
adb shell pm list packages -e

例如:

1
adb -s 75aed56d shell pm list packages -e

省略。。。

adb输出系统包名

1
adb shell pm list packages -s

例如:

1
adb -s 75aed56d shell pm list packages -s

运行效果:

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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
D:\Desktop>adb -s 75aed56d shell pm list packages -s
package:com.coloros.backuprestore
package:com.oppo.logkitsdservice
package:com.oppo.ctautoregist
package:com.coloros.phonenoareainquire
package:com.android.providers.telephony
package:com.coloros.wirelesssettings
package:com.android.engineeringmode
package:com.gnss.power
package:com.android.providers.calendar
package:com.android.providers.media
package:com.qti.service.colorservice
package:com.qualcomm.qti.modemtestmode
package:com.qualcomm.shutdownlistner
package:com.android.wallpapercropper
package:com.coloros.newsimdetect
package:com.quicinc.cne.CNEService
package:com.nearme.sync
package:com.android.documentsui
package:com.coloros.simsettings
package:com.sohu.inputmethod.sogouoem
package:com.android.externalstorage
package:com.android.htmlviewer
package:com.iflytek.speechcloud
package:com.android.quicksearchbox
package:com.android.mms.service
package:com.android.providers.downloads
package:com.coloros.providers.downloads.ui
package:com.oppo.autotest
package:com.coloros.blacklist
package:com.coloros.feedbackservice
package:com.oppo.camera.fastvideomode
package:com.qualcomm.interfacepermissions
package:com.android.browser
package:com.android.providers.applications
package:com.oppo.yellowpage
package:com.android.defcontainer
package:com.android.pacprocessor
package:com.coloros.fingerprint
package:com.coloros.gesture
package:com.oppo.camera.panorama
package:com.oppo.oppologkit
package:com.android.certinstaller
package:org.codeaurora.bluetooth
package:com.coloros.bootreg
package:android
package:com.oppo.camera.doubleexposure
package:com.android.contacts
package:com.qualcomm.wfd.service
package:com.coloros.oppoguardelf
package:com.android.mms
package:com.android.stk
package:com.android.backupconfirm
package:se.dirac.acs
package:com.dropboxchmod
package:com.android.dlna.service
package:com.coloros.activation
package:com.oppo.camera.superzoom
package:org.codeaurora.ims
package:com.android.calendar
package:com.oppo.fingerprints.service
package:com.qualcomm.qcrilmsgtunnel
package:com.android.providers.settings
package:com.qualcomm.qcom_qmi
package:com.android.sharedstoragebackup
package:com.android.printspooler
package:com.coloros.notificationmanager
package:com.nearme.ocloud
package:com.android.incallui
package:com.nearme.themespace
package:com.oppo.fingerprints.fingerprintsensortest
package:com.android.webview
package:com.android.inputdevices
package:com.qti.xdivert
package:oppo
package:com.coloros.compass
package:com.coloros.backuprestore.remoteservice
package:com.oppo.launcher
package:com.oppo.nw
package:com.coloros.preventmode
package:com.google.android.webview
package:com.coloros.recents
package:com.coloros.wallpapers
package:com.coloros.sau
package:com.android.server.telecom
package:com.color.uiengine
package:com.android.keychain
package:com.android.keyguard
package:com.coloros.weather
package:com.coloros.usbselection
package:com.nearme.gamecenter
package:com.nearme.statistics.rom
package:com.android.packageinstaller
package:com.oppo.resmonitor
package:com.coloros.pictorial
package:com.svox.pico
package:com.dsi.ant.server
package:com.android.proxyhandler
package:com.coloros.widget.smallweather
package:com.coloros.flashlight
package:com.qti.backupagent
package:com.coloros.photoeffects
package:com.android.managedprovisioning
package:com.oppo.c2u
package:com.oppo.ota
package:com.oppo.camera
package:com.coloros.feedback
package:com.coloros.alarmclock
package:com.oppo.sdcardservice
package:com.android.smspush
package:com.cleanmaster.sdk
package:com.oppo.camera.professional
package:com.android.wallpaper.livepicker
package:com.oppo.market
package:com.baidu.map.location
package:com.coloros.backup.composer.app
package:com.coloros.findmyphone
package:com.criticallog
package:com.nearme.themespacelib
package:com.coloros.safecenter
package:com.oppo.reader
package:com.android.settings
package:com.coloros.keyguard.notification
package:com.oppo.wifirf
package:com.coloros.exserviceui
package:com.android.calculator2
package:com.coloros.screenshot
package:com.oppo.bttestmode
package:com.qualcomm.location
package:com.oppo.dirac
package:com.oppo.music
package:com.coloros.video
package:com.coloros.filemanager
package:com.oppo.usercenter
package:com.oppo.camera.filter
package:com.android.vpndialogs
package:com.coloros.soundrecorder
package:com.coloros.speechassist
package:com.android.phone
package:com.android.shell
package:com.android.providers.userdictionary
package:com.nearme.ds
package:com.oppo.camera.gif
package:com.android.location.fused
package:com.coloros.speechassist.engine
package:com.android.systemui
package:com.qualcomm.qti.networksetting
package:com.qualcomm.fastdormancy
package:com.coloros.operationManual
package:com.nearme.romupdate
package:com.oppo.allowusbdebuggingcritically
package:com.oppo.gestureservice
package:com.coloros.gallery3d
package:com.android.bluetooth
package:com.qualcomm.timeservice
package:com.qualcomm.atfwd
package:com.android.providers.contacts
package:com.coloros.appmanager
package:com.android.captiveportallogin
package:com.oppo.usageDump
package:com.oppo.camera.facebeauty
package:com.coloros.oppomorningsystem
package:com.oppo.device.debug

D:\Desktop>

adb列出第三方安装包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
D:\Desktop>adb -s 75aed56d shell pm list packages -3
package:com.jifen.qukan
package:com.ss.android.ugc.live
package:com.tencent.mm
package:com.taobao.litetao
package:com.xm.freader
package:com.genymobile.gnirehtet
package:com.coolapk.market
package:cn.youth.news
package:com.ximalaya.ting.lite
package:com.nearme.atlas
package:com.kmxs.reader
package:com.taobao.taobao
package:com.eg.android.AlipayGphone
package:com.taobao.live

D:\Desktop>

adb输出包和安装来源

输出包和安装信息(安装来源)
adb shell pm list packages -i

1
2
3
4
5
6
7
D:\Desktop>adb -s 75aed56d shell pm list packages -i
package:com.coloros.backuprestore installer=null
package:com.oppo.logkitsdservice installer=null
package:com.oppo.ctautoregist installer=null
package:com.coloros.phonenoareainquire installer=null
package:com.android.providers.telephony installer=null
......

adb根据列出应用是设置过滤条件

1
adb shell pm list packages -e "包名条件"

例如:

1
2
3
4
5
6
D:\Desktop>adb -s 75aed56d shell pm list packages -e "com.taobao"
package:com.taobao.litetao
package:com.taobao.taobao
package:com.taobao.live

D:\Desktop>

参考资料

https://blog.csdn.net/weixin_38515203/article/details/90718733
https://www.cnblogs.com/yfp2019/p/10917902.html

启动APP时执行命令获取app的启动Activity

打开APP时在cmd中迅速执行如下命令:

1
adb -s 75aed56d shell dumpsys window w |findstr \/ |findstr name=

接下来就可以通过如下的命令,来启动apk:

1
adb -s 75aed56d shell am start -n com.kmxs.reader/com.km.app.home.view.LoadingActivity

参考资料

https://blog.csdn.net/hzblucky1314/article/details/124223736

查找进程

查看所有进程

1
adb shell ps

根据包名查找app对应的进程

1
adb shell ps|findstr app的包名

如果存在多个设备,则在adb后面加上’-s 设备序列号’选项来选择设备

1
adb -s 设备的序列号 shell ps|findstr app的包名

例如:在序列号为75aed56d的设备上查找包名为com.xyz.reader的进程

1
adb -s 75aed56d shell ps|findstr com.xyz.reader

运行效果如下:

1
2
3
C:\Users\WindowsUserName>adb -s 75aed56d shell ps|findstr com.xyz.reader
u0_a83 583 666 2232416 55824 ffffffff 00000000 S com.xyz.reader:channel
u0_a83 628 666 2714884 398728 ffffffff 00000000 S com.xyz.reader

杀死进程

杀死进程不清除数据

强制停止APP进程,不会清除APP进程在系统中产生的数据

1
adb shell am force-stop app的包名

如果你电脑连接多个设备,则指明设备的序列号:

1
adb [-s 设备序列号] shell am force-stop app的包名

例如:在序列号为75aed56d的设备上杀死包名为com.xyz.reader的进程:

1
2
3
C:\Users\WindowsUserName>adb -s 75aed56d shell am force-stop com.xyz.reader

C:\Users\WindowsUserName>

执行该命令后没有输出,你可以在手机上看到对应进程已被杀死。

杀死进程名清除数据

停止APP进程,并且清除这个APP进程产生的所有数据,相当于reset

1
adb shell pm clear 包名

执行该命令后输出success即表示命令执行成功,app进程被杀死,且会清楚所有数据,相当于卸载重装的效果,一般不建议使用。

adb打开app

先杀死app

1
adb -s 75aed56d shell am force-stop com.kmxs.reader

查找app的启动Activity

上面的命令在windows的cmd中运行即可,下面的命令有一些cmd是没有的,我这里是在git-bash中运行的。

打开git-bash,输入如下命令,然后打开手机上的APP。

1
adb -s 75aed56d shell logcat | grep -i ActivityManager

app正常运行后,把上面这条命令的输出复制下来,放到文件中,然后在该文件中查找”包名/.”

我这里查找的是com.kmxs.reader/.

1
2
3
4
5
6
7
8
9
10
11
18190@DESKTOP-SH3MQPI MINGW64 /g/Blog/blog_new (master)
$ adb -s 75aed56d shell logcat | grep -i ActivityManager
I/ActivityManager( 1269): START u0 {act=com.coloros.recents.SHOW_RECENTS flg=0x10804000 cmp=com.coloros.recents/.RecentsActivity} from uid 1000 and from pid 32257 on display 0
V/ActivityManager( 1269): Display changed displayId=0
......
I/ActivityManager( 1269): topActivity.packageName = com.oppo.launcher
I/ActivityManager( 1269): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.kmxs.reader/com.km.app.home.view.LoadingActivity bnds=[36,378][288,672]} from uid 10044 and from pid 3825 on display 0
I/ActivityManager( 1269): START u0 {cmp=com.kmxs.reader/.home.ui.HomeActivity (has extras)} from uid 10083 and from pid 628 on display 0
W/ActivityManager( 1269): Unable to start service Intent { act=action.com.heytap.openid.OPEN_ID_SERVICE cmp=com.heytap.openid/.IdentifyService } U=0: not found

省略...

我这里查找到第一个匹配项是com.kmxs.reader/.home.ui.HomeActivity,看来这个就是启动这个APP的Activity。

再次杀死这个APP的进程:

1
adb -s 75aed56d shell am force-stop com.kmxs.reader

然后在cmd中,输入如下命令,启动APP:

1
adb -s 75aed56d shell am start -n com.kmxs.reader/.home.ui.HomeActivity

可以看到我手机上的APP成功启动。搞定。

参考资料

https://www.cnblogs.com/Dahlia/p/10456945.html

Lenovo IdeaPad U430p Win10 WiFi模块消失,蓝牙模块消失

问题描述

之前我的电脑链接WiFi都是好好的,不知道怎么回事,WiFi模块就消失了。要上网的话就只能插网线。

原因

经过我不断的折腾,原来是无线网卡的驱动没有了。

解决方案

电脑出现问题,要首先找买电脑的。

确认你电脑的主机编号

我这台电脑是联想的,进入联想服务官网。找到联想的机器人

在下面的输入框中输入,无线网卡找不到

机器人给出几条解决方案。

下载主机编号 对应的 驱动和软件

进入联想服务网站:

https://newsupport.lenovo.com.cn/

在搜索框中输入电脑的主机编号。进行查询。

接着网站会列出这台电脑的相关资料。点击 驱动和软件下载 。

在驱动列表中,下载第一项:联想驱动管理(智能匹配,一键安装)

使用联想驱动管理 扫描驱动

安装下载的联想驱动管理,运行联想驱动管理

联想驱动管理 检查出了我这台电脑缺少了无线网卡驱动。

安装 无线网卡驱动

使用360驱动大师 安装旧版本的无线网卡驱动

我安装无线网卡之后,WiFi模块还是没显示出来。这是因为联想驱动管理安装的了最新版的无线网卡驱动。

下载安装运行360驱动大师,扫描电脑上的驱动。然后找到无线网卡驱动列表项。选择最旧的版本进行安装。

这个时候WiFi功能就恢复了。

Win10虚拟桌面

如何创建 虚拟桌面

按Win+Tab键,打开任务视图,点击右上方的新建桌面,就可以创建一个新的虚拟桌面了。

快捷键

Win+Ctrl+左箭头,可以切换到左边的桌面。
Win+Ctrl+右箭头,可以切换到右边的桌面。

参考资料

https://zhuanlan.zhihu.com/p/26744146

adb命令错误提示:device unauthorized

1、重连数据线

把数据线从手机上拔下再重新连接。

连接之后,手机上会弹出授权对话框,勾选上“一律允许使用这台计算机进行调试”,然后点击确定即可。

2、开启无线调试

不重连数据线,使用下面的命令开启WiFi调试,此时手机上也会弹出授权对话框。
然后,勾选上“一律允许使用这台计算机进行调试”,然后点击确定即可。

1
adb tcpip 5555

如果如果你电脑上连接了多个设备,则需要加上-s 设备序列号选项。例如:

1
adb -s 75aed56d tcpip 5556

手机屏幕坏掉了,如何操作手机

  1. 用USB数据线连接手机到电脑上,然后在电脑的文件资源管理器中进入手机保存截图的目录。
  2. 按 电源键+音量减键 对手机进行截图,
  3. 在电脑上打开截图,把截图粘贴到word中,然后调整截图的高度等于手机的高度,调整截图的宽度等于手机的宽度。
  4. 打印这个word,把打印好的纸,盖到手机上,这样就能很好的定位手机上每个图标的位置,点击纸上的图标即可准确操作手机。
  5. 重复2,3,4步骤,找到设置按钮,进入设置,打开开发者选项,进入开发者选项,打开USB调试功能。
  6. 使用scrcpy.exe将手机投屏到电脑上。
  7. 操作电脑上的投屏即可。

JavaScript 显示隐藏div js显示或隐藏div

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// 被控制的<div>
const controlDiv = document.createElement('div');
// 按钮
const showHideBtn = document.createElement('button');
// 设置按钮的文本
showHideBtn.innerText = '隐藏';
// 按钮的事件处理程序
showHideBtn.onclick = function () {
// 当按钮的文字是隐藏时
if (showHideBtn.innerText === '隐藏') {
// 隐藏被控制的div
controlDiv.style.display = 'none';
// 修改按钮的提示文本为显示
showHideBtn.innerText = '显示';
} else if (showHideBtn.innerText === '显示') {
// 显示被控制的<div>
controlDiv.style.display = 'block';
// 修改按钮的提示文本
showHideBtn.innerText = '隐藏';
}
}