zSo*_*nce 4 selenium google-chrome chromium python-3.x selenium-chromedriver
运行大约一个小时后,我的硒浏览器将显示“Aw, Snap!” 页面,我无法从控制台以任何方式与浏览器交互,我必须关闭浏览器并重新启动我的脚本。
对此有解释或简单的解决方法吗?

这个错误画面...

...意味着ChromeDriver在加载新的浏览上下文(即Chrome 浏览器会话)时遇到问题。
在运行基于Chrome 浏览器的Selenium测试大约一个小时后,您会看到此错误,并且此问题可能是由于/dev/shmie大小减小而/dev/shm空间不足而发生的。举个例子:
mount -o remount,size=64M /dev/shm
Run Code Online (Sandbox Code Playgroud)
理想情况下应该是:
mount --bind /tmp/ /dev/shm/
Run Code Online (Sandbox Code Playgroud)
在 Docker 环境中运行 Chromium 时,64M大小几乎处于缩减状态。
根据问题 522853 中的讨论:Linux:Chrome/Chromium SIGBUS/Aw,Snap!在小 /dev/shm 上:
util_posix.cc:GetShmemTempDir在 Linux 上尝试始终使用/dev/shm不可执行内存。/dev/shm很大程度上取决于渲染器的数量、屏幕分辨率等。/dev/shm这个问题在以下讨论中进行了详细的分析和讨论:
这个问题最终通过提交/修订得到解决,修复了CreateAnonymousSharedMemory()返回 fd 时不泄漏 FILE 的问题。
CreateAnonymousSharedMemory() 已修改为以文件描述符而不是 FILE 的形式返回可写内存句柄。由于 POSIX 不提供在不关闭底层文件描述符的情况下拆除 FILE 的标准方法,因此这是通过泄漏 FILE 来实现的。我们现在提供
CreateAndOpenFdForTemporaryFileInDir(), 以避免将临时文件描述符包装到 FILE 中。
确保这件事:
/dev/shm/已安装有足够的内存。@Test以非 root用户身份执行。