问题:当使用Selenium的Docker版本进行自动化测试时,如果在一个单并发(最大并发数为1)的Selenium Grid环境中,上一个Selenium会话异常退出而没有正确关闭,新的webdriver.Remote
连接将会进入等待状态。如果等待时间超过预设的超时限制,程序将会因为等待可用的浏览器会话而阻塞。这可能导致性能问题或超时错误。这种情况下,确保每个会话在结束时都正确关闭是很重要的,以避免阻塞新的会话请求。
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: Could not start a new session. New session request timed out
解决办法 1:在创建时提高并发数()
在docker运行时,设置环境变量SE_NODE_MAX_SESSIONS=5
docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.19.1-20240402 -e SE_NODE_MAX_SESSIONS=5