Acabei de ingressar neste StackExchange para mostrar alguma apreciação pela resposta de Jeremy acima e também adicionar as poucas linhas de JS que usei para exportar a lista de guias (já que copiar com o cursor não é o ideal!)
Como disse Jeremy, selecione Remote devices
sob More tools
on Chrome devtools ⋮
ícone (canto superior direito do painel):
- configure a depuração USB no seu telefone (em
Settings
⇒ Developer options
, raiz não é necessária)
- Observe que você deve ativar o
Developer options
menu, ele está oculto por padrão para proteger os usuários
- no meu telefone, foi necessário tocar várias vezes no número da compilação em
Settings
⇒About Device
- Feito isso, conecte seu USB e permita a conexão MTP
- quando o painel de dispositivos remotos do Chrome devtools estiver aberto, o telefone solicitará a permissão de depuração USB
- você pode optar por confiar sempre no computador
Agora o dispositivo está conectado,
- abra uma segunda visualização de devtools na visualização de devtools a partir da qual você selecionou
Remote devices
para poder recuperar a lista de guias usando JavaScript
- observe que você deve ter os devtools no modo pop-out (use o símbolo de reticências verticais no canto superior direito do painel) para poder fazer isso, caso contrário, Command + Option + J (MAC)
Ctrl
+ Shift
+ J
(WINDOWS) fechará o primeiro painel de ferramentas.
- expanda a lista dos primeiros itens para todas as guias clicando em "Mostrar mais"
- para criar um script na lista, use as seguintes linhas de código [inseridas no console da 2ª janela do devtools]
- NB
/deep/
é o seletor CSS para inserir #shadow-root
elementos DOM
Para exportar uma lista de todos os URLs abertos no Chrome para Android, optei por transformar a lista em uma sequência de texto formatada de remarcação e copiá-la para a área de transferência
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)
Você terá uma lista na sua área de transferência assim:
[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)
...
Atualizar
Por algum motivo, estou recebendo um erro algumas vezes , dizendo que ele falhou ao obter o href
atributo de um null
item (quando eu o inspeciono, é um nó invisível, quem sabe). Para contornar isso, use esta versão:
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)