O recurso de sincronização do Chrome não pega todas as guias abertas no meu telefone Android.
As guias estão armazenadas em um arquivo em algum lugar que eu possa acessar?
Minha intenção é exportar a lista de guias para que eu possa executar uma redefinição de fábrica no dispositivo.
Executando o Android 4.3
chrome-for-android
Majjo
fonte
fonte
Respostas:
Você pode usar o recurso Dispositivos remotos no depurador do Chrome para conectar-se ao Chrome no dispositivo e acessar as guias. Basta expandir a lista de guias visíveis para obter a lista completa e realçar e copiar tudo o que é mostrado (incluindo os URLs) para a área de transferência: https://developers.google.com/web/tools/chrome-devtools/remote-debugging/
Acabei de exportar ~ 400 guias dessa maneira.
fonte
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
sobMore tools
on Chrome devtools⋮
ícone (canto superior direito do painel):Settings
⇒Developer options
, raiz não é necessária)Developer options
menu, ele está oculto por padrão para proteger os usuáriosSettings
⇒About Device
Agora o dispositivo está conectado,
Remote devices
para poder recuperar a lista de guias usando JavaScriptCtrl
+Shift
+J
(WINDOWS) fechará o primeiro painel de ferramentas./deep/
é o seletor CSS para inserir#shadow-root
elementos DOMPara 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
Você terá uma lista na sua área de transferência assim:
Atualizar
Por algum motivo, estou recebendo um erro algumas vezes , dizendo que ele falhou ao obter o
href
atributo de umnull
item (quando eu o inspeciono, é um nó invisível, quem sabe). Para contornar isso, use esta versão:fonte
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('.devtools-link')._href}))
vai trabalhar agoratabs = Array.from(document.querySelector('div /deep/ div /deep/ div /deep/ div /deep/ div /deep/ div /deep/ div.vbox.flex-auto').shadowRoot.querySelectorAll('.devices-view .device-page-list .vbox'), s => ({name: s.querySelector('.device-page-title').textContent, url: s.querySelector('.device-page-url .devtools-link').getAttribute('href')}))
(não consegui acessar a raiz-sombra final por meio de um seletor, mas tive que usar a.shadowRoot
propriedade de seu elemento host. Não sei exatamente por que, mas Ei, sem suporte.Me deparei com essa solução quando estava procurando recuperar guias que estavam permanentemente fechadas depois que meu navegador travou um dia. Para acessar as informações necessárias, seu dispositivo precisa estar enraizado para que você possa executar um aplicativo explorador de arquivos com acesso aos arquivos raiz instalados no seu dispositivo. ES File Explorer ou Root Explorer são minhas recomendações.
Navegue até a pasta raiz do seu dispositivo (a partição protegida do sistema) → selecione
DATA
→ selecionarcom.android.chrome
.Existem vários lugares onde você pode encontrar informações sobre suas guias atuais.
app_tabs
, então0
. Nesta pasta, deve haver um arquivo chamadotab_state
que contém uma lista de todas as suas guias atuais.tab3
,tab4
etc. que contêm informações sobre as guias atuais.O próximo lugar para procurar é
/data/com.android.chrome/app_chrome/Default/
. Nesta pasta, você encontrará um arquivo chamadoHistory
. Dependendo da sua situação, você pode encontrar uma boa lista de visitas recentes ao site aqui.Por fim, navegue até o
Sync Data folder
. Aqui, você encontrará as informações que estão sendo sincronizadas com o Google (e isso deve incluir todas as guias que você sincronizou atualmente em outros dispositivos).SyncData.sqlite3
, você também encontrará um histórico de todas as suas pesquisas no Google (que às vezes considero uma leitura interessante)..CSV
ou.XLS
arquivo que você pode abrir em MS Excel .Isso pode ser útil para alguém que eu assumo.
fonte
Se você possui as ferramentas de linha de comando do Android instaladas em uma máquina de desenvolvimento e ativou a depuração USB no seu dispositivo Android, pode fazer o seguinte:
Execute
adb forward tcp:9222 localabstract:chrome_devtools_remote
na sua máquina de desenvolvimento.As instâncias do Chrome expõem o acesso a um protocolo de depuração por meio de um soquete de domínio unix com o endereço abstrato "
chrome_devtools_remote
" - o comando adb acima encaminha solicitações para a porta 9222, para esse soquete. (Você pode obter uma lista de todos os soquetes de domínio unix no dispositivo Android digitandoadb shell cat /proc/net/unix
.)O protocolo de depuração expõe dados JSON sobre a instância do chrome por HTTP. Um arquivo JSON que lista as guias abertas pode ser obtido executando
wget -O tabs.json http://localhost:9222/json/list
.(Outros pontos de extremidade da API podem ser encontrados em https://github.com/buggerjs/bugger-daemon/blob/master/README.md#api .)
Veja aqui para mais detalhes sobre a habilitação da depuração USB e aqui para uma visão geral de como funciona.
fonte
Esta solução alternativa fornecerá um arquivo de texto com URLs individuais para todas as guias que você abriu no Chrome para Android.
Como mencionado nesta resposta por Michael , você precisa pegar o arquivo que contém as guias atuais. Usando um root explorer no dispositivo, pegue esse arquivo e mova-o para a sua pasta preferida no Windows:
/data/data/com.android.chrome/app_tabs/0/tab_state
Instale o GNU Tools para Windows
Às vezes, há um caractere de seta estranho no arquivo que estraga o script. Se você executar o script e ele truncar parte do arquivo, observe o último caractere e provavelmente será esse caractere de seta estranho. Encontre / substitua-o no arquivo original. Quando acabar, o script funcionará bem. Se parece com isso:
-->
Vá para o prompt da linha de comando (vá para "Executar" ou Win+ Re digite
cmd
) e navegue até a pasta que contémsed.exe
(onde quer que você o tenha instalado na etapa 2.)Você provavelmente desejará mover o arquivo original (
tab_state
) para a mesma pasta que contémsed.exe
. Isso tornará tudo mais fácil. Depois de fazer isso, execute este script:Isso modificará o arquivo com todos os URLs formatados corretamente. Abra o arquivo como um arquivo de texto e copie e cole o conteúdo em um documento do Word ou em outro local. Por alguma razão, se você não copiar e colar os dados, ao salvar o arquivo, ele apagará todas as quebras de linha / retornos de carro. Se tudo estragar, basta começar de novo e fazê-lo novamente. Quando tudo estiver pronto, você deve ter um arquivo que contenha uma lista de links para todas as guias que você abriu anteriormente.
fonte
Você pode substituir o código no console da Louis Maddox por este, que está funcionando hoje
Version 0.66.99 Chromium: 75.0.3770.100
. Observação: você pode abrir uma nova janela do console da janela de dispositivos remotos se ativar a janela do dispositivo remoto e pressionarCtrl+Shift+J
Em seguida, você pode colar todas as suas guias em um arquivo de texto.
Se você deseja abrir todas as guias do seu dispositivo real, substitua
tabs.forEach
-part porNão tente isso com muitas abas abertas no seu dispositivo.
Adicionei isso após a
tabs
peça para sincronizar manualmente as abas abertas (corajoso ainda falta esse recurso e eu tinha 650 abas abertas no meu dispositivo móvel) cobrando 50 abas:Isso abrirá um lote de 50 guias do seu dispositivo na janela do navegador aberta. Também mostra a contagem geral de guias. Não feche a guia 'vazia' restante dessas ferramentas de desenvolvedor e do dispositivo remoto, se desejar abrir outro lote. Com
Ctrl + TAB
você alternar entre as guias,Ctrl +D
para marcá-las como favorito eCtrl+W
fechar a guia ativa. Foi assim que fiz manualmente, sinta-se à vontade para propor alterações nesse código para facilitar a vida de todos.fonte
Michael identificou o arquivo tab_state, resta decodificá-lo. O script a seguir funcionou para mim (em kitkat KSH_VERSION = '@ (#) MIRBSD KSH R43 2013/02/19' ou xenial BASH_VERSION = '4.3.46 (1) -release' em um arquivo tab_state do Chrome 49.0.2623.105), ele imprime o último URL primeiro, entre os URLs que remove qualquer byte não imprimível e todos os bytes seguintes, e mais, se necessário, para que pelo menos 2 bytes sejam removidos. Após cada URL, ele imprime um espaço, os bytes contíguos removíveis, se houver, e uma vírgula e o número de outros bytes removidos (e os referidos bytes entre parênteses). Para imprimir os URLs, use apenas o comando eco comentado.
fonte
Você precisa ser root ou Chrome para ler
/data/data/com.android.chrome/app_tabs/0/tab_state0
Você pode usar esta exploração de vaca suja em dispositivos vulneráveis para se tornar o Chrome e obter
tab_state0
um dispositivo conectado:Depois de ter acesso
tab_state0
, extraia os URLs:fonte
A resposta mais recente de simonsan não está funcionando na minha versão atual do Chrome
75.0.3770.100
. Como não tenho avbox
classe usada em todos os scripts publicados, consegui escrever um código que está funcionando agora:Eu achei o post e as capturas de tela de Louis Maddox muito úteis para decifrar o script dele, então aqui está o meu com a árvore atualizada.
De qualquer forma, as soluções propostas para superar o limite de 100 caracteres não funcionaram para mim, por isso decidi editá-
inspect.js
las a partir da fonte, seguindo estas etapas:C:\Program Files (x86)\Google\Chrome\Application\75.0.3770.100
(onde75.0.3770.100
está o nome da compilação), faça uma cópia daresources.pak
pasta Documentos, arraste a cópia e solte-aunpack.bat
na pasta descompactada.\document\resources_unpaked\
tomar o11208.js
e abri-lo.100
existem essas linhaspak_index.ini
e solte-o nopak.bat
. agora oresource.pak
in\documents\
foi atualizado com as alterações.resource.pak
porque você nunca sabe, feche o Chrome e substitua o original pela versão atualizada.Agora, o script mostrará até 300 caracteres para os URLs.
fonte
No Windows, para extrair
tab_state0
de um arquivo TitaniumBackup (que funciona em telefones com root)Para obter a lista de guias de
tab_state0
No Windows eu instalaria https://scoop.sh/ then
scoop install busybox 7zip
fonte
Esta não é a resposta que você está procurando, mas:
Crie uma conta fictícia no Google
Faça login no dispositivo Android e ative a sincronização
Faça login na área de trabalho e ative a sincronização
Instale a extensão Session Buddy na área de trabalho
Guias de exportação
fonte