96 votos

¿Cómo puedo exportar la lista de pestañas abiertas de Chrome?

La función de sincronización de Chrome no recoge todas las pestañas abiertas en mi teléfono Android.

¿Se guardan las fichas en algún archivo al que pueda acceder?

Mi intención es exportar la lista de pestañas para poder ejecutar un restablecimiento de fábrica en el dispositivo.

Ejecutando Android 4.3

0 votos

Ojalá hubiera un complemento para ese fin.

0 votos

Debería haber una forma independiente de hacerlo sin root. Porque bootloader wipe. Quien inventó el dolor de cabeza del bootloader wipe debería ser despedido inmediatamente. El cargador de arranque es una trampa. Desbloquearlo obliga a borrar todos los datos, y algunas partes no se pueden respaldar sin desbloquearlo en primer lugar. Un círculo vicioso. Y luego está el cifrado y ARM TrustZone dolor de cabeza también.

59voto

Carrot Puntos 18

Puedes utilizar la función Dispositivos remotos del depurador de Chrome para conectarte a Chrome en el dispositivo y acceder a las pestañas. Solo tienes que expandir la lista de pestañas visibles para obtener la lista completa y, a continuación, resaltar y copiar todo lo que se muestra (incluidas las URL) en el portapapeles: https://developers.google.com/web/tools/chrome-devtools/remote-debugging/

Acabo de conseguir exportar ~400 pestañas de esta manera.

53voto

vab9 Puntos 41

Actualización octubre 2022 : Según Depuración remota de dispositivos Android El chrome://inspect/#devices ha sustituido a la página Remote devices panel de depuración, rompiendo el JS en esta respuesta y otras similares.


Acabo de unirme a este StackExchange para mostrar algo de aprecio por Respuesta de Jeremy arriba, y también añadir las pocas líneas de JS que usé para exportar la lista de pestañas (¡ya que copiar con el cursor no es lo ideal!)

Como dijo Jeremy, seleccione Remote devices en More tools en Chrome devtools (arriba a la derecha del panel):

  • configurar la depuración USB en el teléfono (en SettingsDeveloper options No es necesaria root)
    • tenga en cuenta que debe activar el Developer options está oculto por defecto para proteger a los usuarios.
    • en mi teléfono esto requirió golpear ligeramente varias veces en el número de la estructura debajo de SettingsAbout Device
  • una vez hecho esto, conecta tu USB y permite la conexión MTP
  • cuando el panel de dispositivo remoto de Chrome devtools esté abierto, el teléfono solicitará permitir la depuración USB
    • puede optar por confiar siempre en el ordenador

Ahora el dispositivo está conectado,

  • abra una 2ª vista devtools en la vista devtools de la que seleccionó Remote devices para poder recuperar la lista de pestañas mediante JavaScript
    • ten en cuenta que debes tener devtools en modo pop-out (usa el símbolo de elipsis vertical en la parte superior derecha del panel) para poder subir esto, de lo contrario Command+Option+J(MAC) Ctrl + Shift + J (Windows) sólo cerrará el primer panel devtools.
  • Amplíe la lista de los primeros elementos a todas las fichas haciendo clic en "Mostrar más".
  • para realizar un script contra la lista, utilice las siguientes líneas de código [introducidas en la consola de la 2ª ventana de devtools]

Para exportar una lista de todas las URL abiertas en Chrome para Android, he optado por convertir la lista en una cadena de texto con formato Markdown y copiarla en el portapapeles

let bookmarkList = Array.from(document.querySelectorAll('.widget>.vbox'))
  .map(e => e.shadowRoot)
  .map(e => e && e.querySelector('.device-page-list'))
  .find(e => e);

let bookmarks = Array.from(bookmarkList.querySelectorAll('.vbox'))
  .map(e => `[${e.querySelector('.device-page-title').innerHTML}](${e.querySelector('x-link').innerHTML})`);

copy(bookmarks.join('\n'));

Entonces tendrá una lista en su portapapeles con este aspecto:

[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)
...

46voto

Philip Gardner Puntos 11

Tl;dr:

  • tener las herramientas de línea de comandos de Android instaladas en una máquina de desarrollo y la depuración USB activada en el dispositivo. No es necesario que el dispositivo esté rooteado
  • adb forward tcp:9222 localabstract:chrome_devtools_remote
  • wget -O tabs.json http://localhost:9222/json/list

Detalles:

Si tiene el Herramientas de línea de comandos de Android instalado en una máquina de desarrollo, y has habilitado la depuración USB en tu dispositivo Android, entonces puedes hacer lo siguiente:

  • Ejecute adb forward tcp:9222 localabstract:chrome_devtools_remote en su máquina de desarrollo.

    Las instancias de Chrome exponen el acceso a un protocolo de depuración a través de un socket de dominio unix con la propiedad dirección abstracta " chrome_devtools_remote ". Lo anterior adb reenvía las peticiones hechas al puerto 9222 en su máquina de desarrollo, hacia ese socket de dominio unix. (Puede obtener una lista de todos los sockets de dominio unix en el dispositivo Android escribiendo adb shell cat /proc/net/unix .)

    De este modo, podemos ejecutar wget o curl (o, de hecho, un navegador) y recuperar información de la instancia de Chrome del dispositivo móvil.

  • La información de depuración se proporciona como datos JSON a través de HTTP. Se puede obtener un archivo JSON con una lista de las pestañas abiertas ejecutando wget -O tabs.json http://localhost:9222/json/list .

    (Encontrará otros puntos finales de la API en https://github.com/buggerjs/bugger-daemon/blob/master/README.md#api .)

Véase aquí para más detalles sobre la activación de la depuración USB, y aquí para ver cómo funciona.

15voto

Daniel B Puntos 81

Me encontré con esta solución cuando buscaba recuperar pestañas que se habían cerrado permanentemente después de que mi navegador se bloqueara un día. Para acceder a la información que necesita, tu dispositivo necesita estar rooteado para que puedas ejecutar una aplicación exploradora de archivos con acceso a los archivos Root instalados en tu dispositivo. Explorador de archivos ES o Explorador de root son mis recomendaciones.

  1. Navegue hasta la carpeta root de su dispositivo (la partición protegida del sistema) → seleccione DATA → seleccionar com.android.chrome .

  2. Hay varios sitios donde puede encontrar información sobre sus fichas actuales.

    1. La primera carpeta que hay que comprobar es app_tabs entonces 0 . En esta carpeta debe haber un archivo llamado tab_state que contiene una lista de todas tus pestañas actuales.
    2. También hay otros archivos en esta carpeta llamados tab3 , tab4 etc. que contienen información sobre las pestañas actuales.
    3. OMI, necesita un "editor de texto / editor sql" especial para leer el contenido de algunos de estos archivos, ya que la codificación es diferente.
  3. El siguiente lugar donde buscar es /data/com.android.chrome/app_chrome/Default/ . En esta carpeta encontrará un archivo llamado History . Dependiendo de su situación, puede encontrar aquí una buena lista de visitas recientes.

  4. Por último, vaya a la página Sync Data folder . Aquí encontrarás la información que se está sincronizando con Google (y esto debería incluir todas las pestañas que tienes sincronizadas actualmente en otros dispositivos).

    • En el fichero SyncData.sqlite3 También encontrarás un historial de todas tus búsquedas en Google (que a veces me parece una lectura interesante).
    • Necesitarás un navegador de datos Sqlite3 programa en su PC para poder leer este archivo. La aplicación debe ser capaz de exportar a un muy utilizable .CSV o .XLS que puede abrir en MS Excel .

Supongo que esto podría ser útil para alguien.

4voto

Riley Madison Puntos 11

La respuesta más reciente de simonsan no funciona en mi versión actual de Chrome 75.0.3770.100 . No tengo el vbox que se utiliza en cada script publicado, así que me las arreglé para escribir un código que está trabajando ahora:

tabs = document.querySelectorAll('#devices div /deep/ div /deep/ div /deep/ div /deep/ .row')
str = '';
for (i=0;i<tabs.length;i++){
  if (tabs[i].querySelector('.name').innerText != null){
    str += '- ['+tabs[i].querySelector('.name').innerText + '] (' + tabs[i].querySelector('.url').innerText +  ')\n'
  } else {
    console.log(tabs[i])
  }
}

He encontrado Louis Maddox y capturas de pantalla muy útil para descifrar su guión así que aquí está el mío con el árbol actualizado.

screenshot


De todos modos las soluciones propuestas para superar el 100 char cap no funcionó para mí por lo tanto decidí editar el inspect.js de la fuente siguiendo estos pasos:

  1. Descargar el chrome-pak-customizer y descomprímelo.

  2. En C:\Program Files (x86)\Google\Chrome\Application\75.0.3770.100 (donde 75.0.3770.100 es el nombre de la compilación) haga una copia del archivo resources.pak en la carpeta Documentos, arrastre la copia y suéltela en la carpeta unpack.bat en la carpeta descomprimida.

  3. En \document\resources_unpaked\ tomar el 11208.js y ábrelo.

  4. En la línea 537 o buscando 100 hay estas líneas

    let text = value ? String(value) : ''; if (text.length > 100) { text = text.substring(0, 100) + '\u2026'; }

    changing the 100 to 300 should be enough, it may cuts some google search links but mine where still working.

  5. Guarde el archivo y en la misma carpeta arrastre el archivo pak_index.ini y déjela caer sobre el pak.bat . ahora el resource.pak en \documents\ se ha actualizado con los cambios.

  6. Haga una copia de seguridad de resource.pak porque nunca se sabe, cierra Chrome y sustituye el original por la versión actualizada.

Ahora el script mostrará hasta 300 caracteres para las urls.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X