为了实现[链接登录后可见]能24h运行,我只能将其制成Docker镜像。
要知道SSPUBot在开发的时候用了selenium+Firefox的想法开发,所以Docker里面必须要有Firefox,结果这就让见识到了最顽固的错误selenium.common.exceptions.WebDriverException: Message: Process unexpectedly closed with status 255
我们还是省略我找的解决方法的经过吧,直接说一下我是如何解决的。
其实,也是非常偶然
当时,我按照我所查的资料去做——没有使用root用户打开Firefox,使用了无头文件,结果还是没成功。
那时我想到——在终端输入firefox --version
,看看有没有正常安装,后来,才知道原来是缺少文件
对于这个问题,我特别构建了一个镜像
源代码库在这里[链接登录后可见]
当然,你也可以直接在dockerfile中直接加上
FROM ghcr.io/mryan2005/firefox-on-docker:latest
其实,也不止这个情况。
就是你没有在脚本内加入以下语句是会报错出这样的错误selenium.common.exceptions.webdriverexception: message: process unexpectedly clos ed with status 1
Xvfb :7 -screen 0 1336x768x24 2>/dev/null &
export DISPLAY=:7
所以,在发生这种情况的时候应该不只是运行firefox --version
,还要运行firefox
查看情况。