Fitur sinkronisasi Chrome tidak mengambil semua tab yang terbuka di ponsel Android saya.
Apakah tab disimpan dalam file di suatu tempat yang dapat saya akses?
Tujuan saya adalah untuk mengekspor daftar tab sehingga saya dapat menjalankan pengaturan ulang pabrik pada perangkat.
Menjalankan Android 4.3
chrome-for-android
Majjo
sumber
sumber
Jawaban:
Anda dapat menggunakan fitur Perangkat Jarak Jauh di debugger Chrome untuk terhubung ke Chrome di perangkat dan mengakses tab. Cukup rentangkan daftar tab yang terlihat untuk mendapatkan daftar lengkap dan kemudian sorot & salin semua yang ditampilkan (termasuk URL) ke papan klip: https://developers.google.com/web/tools/chrome-devtools/remote-debugging/
Saya baru saja berhasil mengekspor ~ 400 tab dengan cara ini.
sumber
Baru saja bergabung dengan StackExchange ini untuk menunjukkan apresiasi atas jawaban Jeremy di atas, dan juga menambahkan beberapa baris JS yang saya gunakan untuk mengekspor daftar tab (karena menyalin dengan kursor tidak ideal!)
Seperti kata Jeremy, pilih di
Remote devices
bawah ikonMore tools
Chrome devtools⋮
(kanan atas panel):Settings
⇒Developer options
, root tidak diperlukan)Developer options
menu, itu disembunyikan secara default untuk melindungi penggunaSettings
⇒About Device
Sekarang perangkat terhubung,
Remote devices
untuk dapat mengambil daftar tab menggunakan JavaScriptCtrl
+Shift
+J
(WINDOWS) hanya akan menutup panel devtools pertama./deep/
adalah pemilih CSS untuk memasukkan#shadow-root
elemen DOMUntuk mengekspor daftar semua URL yang terbuka di Chrome untuk Android, saya memilih untuk membuat daftar itu menjadi string teks yang diformat dengan penurunan harga dan menyalinnya ke clipboard
Anda kemudian akan memiliki daftar di clipboard Anda terlihat seperti ini:
Memperbarui
Untuk beberapa alasan saya mendapatkan kesalahan beberapa waktu , mengatakan gagal untuk mendapatkan
href
atribut dari suatunull
item (ketika saya memeriksanya itu adalah simpul yang tidak terlihat, siapa tahu). Untuk menyiasatinya, gunakan versi ini sebagai gantinya:sumber
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}))
akan berfungsi sekarangtabs = 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')}))
(Saya tidak bisa mengakses root shadow terakhir melalui pemilih, tetapi harus menggunakan.shadowRoot
properti elemen hostnya sebagai gantinya. Tidak tahu persis mengapa, tetapi hei, tidak didukungSaya menemukan solusi ini ketika saya mencari untuk memulihkan tab yang telah ditutup secara permanen setelah satu hari browser saya mogok. Untuk mengakses informasi yang Anda butuhkan, perangkat Anda harus di-rooting sehingga Anda dapat menjalankan aplikasi file explorer dengan akses ke file root yang diinstal pada perangkat Anda. ES File Explorer atau Root Explorer adalah rekomendasi saya.
Arahkan ke folder root perangkat Anda (partisi sistem yang dilindungi) → pilih
DATA
→ pilihcom.android.chrome
.Ada beberapa tempat di mana Anda dapat menemukan informasi tentang tab Anda saat ini.
app_tabs
, lalu0
. Di folder ini harus ada file bernamatab_state
yang berisi daftar semua tab Anda saat ini.tab3
,tab4
, dll yang berisi info tentang tab saat ini.Tempat berikutnya untuk melihat adalah
/data/com.android.chrome/app_chrome/Default/
. Di folder ini Anda akan menemukan file bernamaHistory
. Bergantung pada situasi Anda, Anda dapat menemukan daftar kunjungan situs terbaru di sini.Akhirnya, navigasikan ke menu
Sync Data folder
. Di sini, Anda akan menemukan informasi yang sedang disinkronkan ke Google (dan ini harus mencakup semua tab yang saat ini Anda sinkronkan di perangkat lain).SyncData.sqlite3
, Anda juga akan menemukan riwayat semua pencarian Google Anda (yang terkadang saya temukan sebagai bacaan yang menarik)..CSV
atau.XLS
yang dapat Anda buka di MS Excel .Ini bisa membantu seseorang yang saya kira.
sumber
Jika Anda memiliki alat baris perintah Android yang diinstal pada mesin pengembangan, dan telah mengaktifkan USB debugging pada perangkat Android Anda, maka Anda dapat melakukan hal berikut:
Jalankan
adb forward tcp:9222 localabstract:chrome_devtools_remote
mesin pengembangan Anda.Mesin virtual Chrome membuka akses ke protokol debugging melalui soket domain unix dengan alamat abstrak "
chrome_devtools_remote
" - perintah adb di atas meneruskan permintaan ke port 9222, beralih ke soket itu. (Anda bisa mendapatkan daftar semua soket domain unix di perangkat Android dengan mengetikadb shell cat /proc/net/unix
.)Protokol debugging memperlihatkan data JSON tentang instance chrome melalui HTTP. File JSON yang mencantumkan tab terbuka dapat diperoleh dengan mengeksekusi
wget -O tabs.json http://localhost:9222/json/list
.(Titik akhir API lainnya dapat ditemukan di https://github.com/buggerjs/bugger-daemon/blob/master/README.md#api .)
Lihat di sini untuk detail lebih lanjut tentang mengaktifkan debugging USB, dan di sini untuk ikhtisar tentang cara kerjanya.
sumber
Solusi ini akan memberi Anda file teks dengan URL individual untuk semua tab yang Anda buka di Chrome untuk Android.
Seperti disebutkan dalam jawaban ini oleh Michael , Anda harus mengambil file yang berisi tab saat ini. Menggunakan root explorer di perangkat, ambil file ini dan pindahkan ke folder pilihan Anda di windows:
/data/data/com.android.chrome/app_tabs/0/tab_state
Instal Alat GNU untuk Windows
Terkadang ada karakter panah aneh dalam file yang mengacaukan skrip. Jika Anda menjalankan skrip dan memotong sebagian file, lihat karakter terakhir dan mungkin karakter panah aneh itu. Temukan / ganti di file asli. Setelah hilang, skrip akan berjalan dengan baik. Ini terlihat seperti ini:
-->
Pergi ke command line prompt (pergi ke "Run" atau Win+ R, dan ketik
cmd
) dan arahkan ke folder yang berisised.exe
(di mana pun Anda menginstalnya di langkah 2.)Anda mungkin ingin memindahkan file asli (
tab_state
) ke folder yang samased.exe
. Itu akan membuat segalanya lebih mudah. Setelah Anda selesai melakukannya, jalankan skrip ini:Ini akan memodifikasi file dengan semua URL diformat dengan benar. Buka file sebagai file teks dan kemudian salin dan tempel konten ke dokumen Word atau lokasi lain. Untuk beberapa alasan, jika Anda tidak menyalin dan menempelkan data, ketika Anda menyimpan file itu akan menghapus semua pengembalian baris / carriage. Jika semuanya kacau, mulailah dari awal dan lakukan lagi. Setelah semuanya dikatakan dan dilakukan, Anda harus memiliki file yang berisi daftar tautan ke semua tab yang telah Anda buka sebelumnya.
sumber
Anda dapat mengganti kode di konsol dari Louis Maddox dengan yang ini, ini berfungsi mulai hari ini
Version 0.66.99 Chromium: 75.0.3770.100
. Catatan: Anda dapat membuka jendela konsol baru dari jendela perangkat jarak jauh jika Anda mengaktifkan jendela perangkat jarak jauh dan menekanCtrl+Shift+J
Kemudian Anda bisa menempelkan semua tab Anda di file teks.
Jika Anda ingin membuka semua tab pada perangkat Anda yang sebenarnya, ganti
tabs.forEach
-part denganJangan mencobanya dengan terlalu banyak tab terbuka di perangkat Anda.
Saya menambahkan ini setelah
tabs
bagian untuk menyinkronkan tab yang dibuka secara manual (berani masih kehilangan fitur ini dan saya memiliki 650 tab yang dibuka pada perangkat seluler saya) dengan biaya 50 tab:Ini akan membuka kumpulan 50 tab dari perangkat Anda ke dalam jendela browser yang terbuka. Itu juga menunjukkan jumlah tab keseluruhan. Jangan tutup tab 'kosong' yang tersisa untuk alat-alat pengembang dan perangkat jarak jauh, jika Anda ingin membuka kumpulan lain. Dengan
Ctrl + TAB
Anda beralih melalui tab,Ctrl +D
untuk menandai mereka danCtrl+W
untuk menutup tab aktif. Itulah cara saya melakukannya secara manual, merasa bebas untuk mengusulkan perubahan pada kode ini untuk membuat hidup semua orang lebih mudah.sumber
Michael mengidentifikasi file tab_state, masih harus mendekodekannya. Skrip berikut berfungsi untuk saya (dalam kitkat KSH_VERSION = '@ (#) MIRBSD KSH R43 2013/02/19' atau BASH_VERSION xenial = '4.3.46 (1) -dilepaskan' pada file tab_state dari Chrome 49.0.2623.105), itu mencetak URL terakhir terlebih dahulu, antara URL itu menghapus byte yang tidak diinginkan dan semua byte berikutnya, dan lebih banyak jika diperlukan sehingga setidaknya 2 byte dihapus. Mengikuti setiap URL, ia mencetak spasi, kemudian byte yang dapat dicetak yang dihapus yang bersebelahan jika ada, lalu koma, lalu jumlah byte lainnya yang dihapus (& kata byte di dalam tanda kurung). Untuk mencetak URL hanya gunakan perintah gema yang dikomentari saja.
sumber
Anda harus root atau Chrome untuk membaca
/data/data/com.android.chrome/app_tabs/0/tab_state0
Anda dapat menggunakan exploit kotor ini pada perangkat yang rentan untuk menjadi Chrome dan mendapatkan
tab_state0
dari perangkat yang terpasang:Setelah Anda memiliki akses
tab_state0
, ekstrak URL:sumber
Jawaban terbaru oleh simonsan tidak berfungsi pada build Chrome saya saat ini
75.0.3770.100
. Saya tidak memilikivbox
kelas yang digunakan di setiap skrip yang diposting, jadi saya berhasil menulis kode yang berfungsi sekarang:Saya menemukan tulisan dan tangkapan layar Louis Maddox sangat berguna untuk menguraikan skripnya, jadi inilah milik saya dengan pohon yang diperbarui.
Bagaimanapun solusi yang diusulkan untuk mengatasi 100 char cap tidak bekerja untuk saya karena itu saya memutuskan untuk mengedit
inspect.js
dari sumber berikut langkah-langkah berikut:C:\Program Files (x86)\Google\Chrome\Application\75.0.3770.100
(di mana75.0.3770.100
nama build) buat salinan diresources.pak
dalam folder Documents Anda, seret salinannya dan letakkanunpack.bat
di dalam folder yang tidak di-zip.\document\resources_unpaked\
mengambil11208.js
dan membukanya.100
ada garis-garis inipak_index.ini
dan letakkan di folderpak.bat
. sekarangresource.pak
in\documents\
telah diperbarui dengan perubahan.resource.pak
karena Anda tidak pernah tahu, tutup Chrome dan ganti yang asli dengan versi yang diperbarui.Sekarang skrip akan menampilkan hingga 300 karakter untuk url.
sumber
Di windows, untuk mengekstrak
tab_state0
dari arsip TitaniumBackup (yang berfungsi pada ponsel yang di-rooting)Untuk mendapatkan daftar tab
tab_state0
Di windows saya akan menginstal https://scoop.sh/ lalu
scoop install busybox 7zip
sumber
Ini bukan jawaban yang Anda cari, tetapi:
Buat akun dummy di Google
Login di perangkat Android dan aktifkan sinkronisasi
Login di desktop dan aktifkan sinkronisasi
Instal ekstensi Session Buddy di desktop
Ekspor tab
sumber