首頁 >後端開發 >Python教學 >為什麼 DigitalOcean 伺服器上的 Selenium InstaPy 腳本會不斷出現「無效會話 ID」和「會話因頁面崩潰而被刪除」錯誤?

為什麼 DigitalOcean 伺服器上的 Selenium InstaPy 腳本會不斷出現「無效會話 ID」和「會話因頁面崩潰而被刪除」錯誤?

DDD
DDD原創
2024-11-23 10:29:11427瀏覽

Why Does My Selenium InstaPy Script on a DigitalOcean Server Keep Getting

未知錯誤:會話因未知錯誤導致頁面崩潰而被刪除:無法確定ChromeDriver Selenium 崩潰的選項卡的載入狀態

問題:

在InstaPy中,運行時會定期出現錯誤來自 Cron 的 Python 和 Selenium 腳本。錯誤訊息指示「無效的會話 ID」和「未知錯誤:會話因未知錯誤導致頁面崩潰而被刪除:無法確定選項卡崩潰的載入狀態。」儘管已在 GitHub Repo 上發布,但該問題仍未解決。該腳本在帶有 Chrome Web 驅動程式的無頭模式數位海洋 ubuntu 伺服器上運行。是什麼原因導致此問題以及如何解決?

答案:

導致錯誤的主要異常是:

selenium.common.exceptions.WebDriverException: Message: unknown error: session deleted because of page crash
from unknown error: cannot determine loading status
from tab crashed

要解決此問題,請考慮以下解決方案:

  • 新增以下chrome_options:

    chrome_options.add_argument('--no-sandbox')
  • 修補一個小的/dev/shm大小:

    sudo mount -t tmpfs -o rw,nosuid,nodev,noexec,relatime,size=512M tmpfs /dev/shm
  • -v /dev/shm:/dev/shm
  • chrome_options.add_argument('--disable-dev-shm-usage')

共享主機/dev/shm選項:

停用/dev/shm用法:

來自崩潰的選項卡:此錯誤與Linux 操作與Linux 操作與Linux 操作系統嘗試始終使用/dev 相關/shm 用於非可執行記憶體。 Chrome v65.0.3299.6 已實現修復。 參考:[org.openqa.selenium.SessionNotCreatedException:會話未從選項卡建立異常從 Jenkins CI執行時發生崩潰錯誤伺服器](https://stackoverflow.com/questions/50364109/org-openqa-selenium-sessionnotcreatedexception-session-not-created-exception)

以上是為什麼 DigitalOcean 伺服器上的 Selenium InstaPy 腳本會不斷出現「無效會話 ID」和「會話因頁面崩潰而被刪除」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn