Treten Sie einfach diesem StackExchange bei, um die oben stehende Antwort von Jeremy zu würdigen , und fügen Sie die wenigen Zeilen von JS hinzu, die ich zum Exportieren der Registerkartenliste verwendet habe (da das Kopieren mit dem Cursor nicht ideal ist!).
Wie Jeremy sagte, wählen Sie Remote devices
unter More tools
auf Chrome devtools ⋮
Symbol (oben rechts im Panel):
- Richten Sie das USB-Debugging auf Ihrem Telefon ein (unter
Settings
⇒ Developer options
, root nicht erforderlich)
- Beachten Sie, dass Sie das
Developer options
Menü aktivieren müssen . Es ist standardmäßig ausgeblendet, um Benutzer zu schützen
- Auf meinem Handy musste ich dazu mehrmals auf die Build-Nummer unter
Settings
⇒ tippenAbout Device
- Sobald dies erledigt ist, schließen Sie Ihren USB-Stick an und lassen Sie die MTP-Verbindung zu
- Wenn das Chrome devtools-Bedienfeld für Remote-Geräte geöffnet ist, werden Sie aufgefordert, das USB-Debugging zuzulassen
- Sie können sich dafür entscheiden, dem Computer immer zu vertrauen
Jetzt ist das Gerät verbunden,
- Öffnen Sie eine zweite devtools-Ansicht in der devtools-Ansicht, aus der Sie ausgewählt haben
Remote devices
, um die Liste der Registerkarten mit JavaScript abzurufen
- Beachten Sie, dass Sie Devtools im Pop-Out-Modus haben müssen (verwenden Sie das vertikale Auslassungssymbol oben rechts im Bedienfeld), um dies anzuzeigen. Andernfalls wird Command + Option + J (MAC)
Ctrl
+ Shift
+ J
(WINDOWS) einfach geschlossen das erste devtools panel.
- Erweitern Sie die Liste der ersten Elemente auf alle Registerkarten, indem Sie auf "Mehr anzeigen" klicken.
- Verwenden Sie zum Erstellen eines Skripts für die Liste die folgenden Codezeilen [in der Konsole des 2. Devtools-Fensters eingegeben]
- NB
/deep/
ist der CSS-Selektor zur Eingabe von #shadow-root
DOM-Elementen
Um eine Liste aller in Chrome für Android geöffneten URLs zu exportieren, habe ich mich dafür entschieden, die Liste in eine abschriftenformatierte Textzeichenfolge umzuwandeln und in die Zwischenablage zu kopieren
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)
Sie haben dann eine Liste in Ihrer Zwischenablage, die so aussieht:
[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)
...
Aktualisieren
Aus irgendeinem Grund erhalte ich einen Fehler einen Teil der Zeit , sagen sie das bekommen fehlgeschlagen href
Attribut einer null
Position (wenn ich inspizieren es es ist ein unsichtbares Knoten, wer weiß). Verwenden Sie stattdessen diese Version, um dies zu umgehen:
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)