ralat tidak diketahui: sesi dipadamkan kerana ranap halaman daripada ralat tidak diketahui: tidak dapat menentukan status pemuatan daripada tab ranap dengan ChromeDriver Selenium
Soalan:
Dalam InstaPy, ralat berlaku secara berkala apabila menjalankan Python dan Skrip selenium daripada Cron. Mesej ralat menunjukkan "id sesi tidak sah" dan "ralat tidak diketahui: sesi dipadamkan kerana ranap halaman daripada ralat tidak diketahui: tidak dapat menentukan status pemuatan daripada tab ranap." Walaupun menyiarkan pada GitHub Repo, isu itu masih tidak dapat diselesaikan. Skrip berjalan pada pelayan ubuntu lautan digital mod tanpa kepala dengan pemacu web Chrome. Apakah yang boleh menyebabkan masalah ini dan bagaimanakah ia boleh dibetulkan?
Jawapan:
Pengecualian utama yang menyebabkan ralat ialah:
selenium.common.exceptions.WebDriverException: Message: unknown error: session deleted because of page crash from unknown error: cannot determine loading status from tab crashed
Untuk menangani isu ini, pertimbangkan penyelesaian berikut:
Tambah yang berikut chrome_options:
chrome_options.add_argument('--no-sandbox')
Betulkan saiz /dev/shm yang kecil:
sudo mount -t tmpfs -o rw,nosuid,nodev,noexec,relatime,size=512M tmpfs /dev/shm
Kongsi hos /dev/shm pilihan:
-v /dev/shm:/dev/shm
Lumpuhkan penggunaan /dev/shm:
chrome_options.add_argument('--disable-dev-shm-usage')
dari tab ranap:
Ralat ini berkaitan dengan sistem pengendalian Linux cuba untuk sentiasa menggunakan /dev/shm untuk memori tidak boleh laksana. Pembaikan telah dilaksanakan dengan Chrome v65.0.3299.6.
Rujukan:
Atas ialah kandungan terperinci Mengapa Skrip Selenium InstaPy Saya pada Pelayan DigitalOcean Terus Mendapat 'ID Sesi Tidak Sah' dan 'Sesi Dipadamkan Kerana Rapat Halaman'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!