我想在AWS中运行Selenium,特别是在Lambda 函数中。Lambda 函数应使用存储在Amazon ECR上的Docker Image。Selenium 代码是简单的 Python 演示代码。
当我在本地从映像运行 Docker 容器时,一切正常并且 Selenium 成功,但是当我将映像部署到 AWS 并配置 lambda 函数来使用它时,它会失败并引发以下错误:
selenium.common.exceptions.WebDriverException: Message: unknown error: unable to discover open window in chrome
Run Code Online (Sandbox Code Playgroud)
我已经尝试了所有可能的 chrome 驱动程序参数,甚至尝试了此问题的解决方案: Aws Lambda Ruby Crawler selenium chrome driver: 'unknown error: unavailable to discovery open window in chrome'
似乎什么都不起作用。错误不会消失。
我使用过不同的浏览器,包括 google-chrome-stable、firefox、headless-chromium 等不同版本,在 aws 中都失败,但在本地 docker 容器中工作。
我还尝试部署具有所需依赖项的 Debian 映像而不是aws-lambda-python,但它也会引发相同的错误。
目前我使用的是 Google Chrome 版本 91、适用于 linux64 的 chromedriver 91.0.4472.101 和 selenium 3.141.0。Dockerfile …
selenium amazon-web-services selenium-webdriver docker aws-lambda