เพิ่งเข้าร่วม StackExchange นี้เพื่อแสดงความขอบคุณสำหรับคำตอบของ Jeremyข้างต้นและยังเพิ่ม JS ไม่กี่บรรทัดที่ฉันใช้เพื่อส่งออกรายการแท็บ (เนื่องจากการคัดลอกด้วยเคอร์เซอร์ไม่เหมาะ!)
ดังที่ Jeremy กล่าวไว้ให้เลือกRemote devices
ภายใต้ไอคอนMore tools
Chrome devtools ⋮
(ด้านบนขวาของแผง):
- ตั้งค่าการดีบัก USB บนโทรศัพท์ของคุณ (ภายใต้
Settings
⇒ Developer options
, ไม่จำเป็นต้องรูท)
- โปรดทราบว่าคุณต้องเปิดใช้งาน
Developer options
เมนูโดยจะซ่อนไว้ตามค่าเริ่มต้นเพื่อปกป้องผู้ใช้
- ในโทรศัพท์ของฉันต้องแตะหลายครั้งบนหมายเลข
Settings
บิลด์ภายใต้⇒About Device
- เมื่อดำเนินการเสร็จแล้วให้เสียบ USB ของคุณและอนุญาตการเชื่อมต่อ MTP
- เมื่อแผงอุปกรณ์ระยะไกลของ Chrome devtools เปิดอยู่โทรศัพท์จะขออนุญาตให้ทำการดีบัก USB
- คุณสามารถเลือกที่จะเชื่อถือคอมพิวเตอร์ได้เสมอ
ตอนนี้อุปกรณ์เชื่อมต่อแล้ว
- เปิดมุมมอง devtools ครั้งที่สองในมุมมอง devtools ที่คุณเลือก
Remote devices
เพื่อให้สามารถเรียกคืนรายการแท็บโดยใช้ JavaScript
- โปรดทราบว่าคุณต้องมี devtools ในโหมดป๊อปอัพ (ใช้สัญลักษณ์รูปไข่แนวตั้งที่ด้านบนขวาของแผง) เพื่อให้สามารถใช้งานได้มิฉะนั้น Command + Option + J (MAC)
Ctrl
+ Shift
+ J
(WINDOWS) จะปิดลง แผง devtools แรก
- ขยายรายการจากรายการแรก ๆ ไปยังแท็บทั้งหมดโดยคลิก 'แสดงเพิ่มเติม'
- สคริปต์กับรายการใช้รหัสต่อไปนี้สองสามบรรทัด [ป้อนในคอนโซลของหน้าต่าง devtools ครั้งที่ 2]
- NB
/deep/
เป็นตัวเลือก CSS เพื่อป้อน#shadow-root
องค์ประกอบ DOM
ในการส่งออกรายการ URL ทั้งหมดที่เปิดบน Chrome สำหรับ Android ฉันเลือกที่จะทำรายการลงในสตริงข้อความที่จัดรูปแบบมาร์กอัปและคัดลอกไปยังคลิปบอร์ด
tabs = Array.from(document.querySelectorAll('div /deep/ div /deep/ div /deep/ div /deep/ div /deep/ .device-page-list .vbox'), s => ({name: s.querySelector('.device-page-title').textContent, url: s.querySelector('.device-page-url .devtools-link').href}))
str = '';
for (i=0;i<tabs.length;i++){
str += '['+tabs[i]['name']+']('+tabs[i]['url']+')\n'
}
copy(str)
จากนั้นคุณจะมีรายการบนคลิปบอร์ดของคุณที่มีลักษณะดังนี้:
[How can I export the list of open Chrome tabs? - Android Enthusiasts Stack Exchange](https://android.stackexchange.com/questions/56635/how-can-i-export-the-list-of-open-chrome-tabs)
[Get Started with Remote Debugging Android Devices | Tools for Web Developers | Google Developers](https://developers.google.com/web/tools/chrome-devtools/remote-debugging/)
[How To Enable USB Debugging On Your Android Phone](https://www.groovypost.com/howto/mobile/how-to-enable-usb-debugging-android-phone/)
[Configure On-Device Developer Options | Android Studio](https://developer.android.com/studio/debug/dev-options.html)
...
ปรับปรุง
ด้วยเหตุผลบางอย่างฉันได้รับข้อผิดพลาดบางครั้งโดยบอกว่ามันไม่สามารถรับhref
คุณสมบัติของnull
รายการ (เมื่อฉันตรวจสอบว่าเป็นโหนดที่มองไม่เห็นใครจะรู้) หากต้องการหลีกเลี่ยงปัญหานี้ให้ใช้เวอร์ชันนี้แทน:
tabs = document.querySelectorAll('div /deep/ div /deep/ div /deep/ div /deep/ div /deep/ .device-page-list .vbox')
str = '';
for (i=0;i<tabs.length;i++){
if (tabs[i].querySelector('.device-page-url .devtools-link') != null){
str += '- ['+tabs[i].querySelector('.device-page-title').textContent + '](' + tabs[i].querySelector('.device-page-url .devtools-link').getAttribute('href') +')\n'
} else {
console.log(tabs[i])
}
}
copy(str)