首页 >后端开发 >Python教程 >为什么 DigitalOcean 服务器上的 Selenium InstaPy 脚本不断出现'无效会话 ID”和'会话因页面崩溃而被删除”错误?

为什么 DigitalOcean 服务器上的 Selenium InstaPy 脚本不断出现'无效会话 ID”和'会话因页面崩溃而被删除”错误?

DDD
DDD原创
2024-11-23 10:29:11423浏览

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
  • 共享主机 /dev/shm 选项:

    -v /dev/shm:/dev/shm
  • 禁用/dev/shm用法:

    chrome_options.add_argument('--disable-dev-shm-usage')

来自崩溃的选项卡:

此错误与 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