繁体   English   中英

Chrome 驱动程序和 Chromium 二进制文件不适用于 aws lambda

[英]Chrome Driver and Chromium Binaries are not working on aws lambda

我陷入了一个问题。 我需要在 AWS lambda 上做一些抓取工作,所以我按照下面提到的博客及其代码库作为起点,这对我非常有帮助,并且在 AWS lambda 上运行时环境:ZA7F5F3926B5628741 对我来说工作得很好。

https://manivannan-ai.medium.com/python-selenium-on-aws-lambda-b4b9de44b8e1 https://github.com/ManivannanMurugavel/selenium-python-aws-lambda

然后我遇到了一个问题,即上面使用的示例代码无法在点击时下载文件。 查看互联网后,我知道 62 版本的 chrome 驱动程序和 chromium 二进制文件不支持此功能。 所以我开始寻找更高版本的二进制文件。 我已经使用了几个二进制文件(chrome 驱动程序和 chromium),显然是兼容的对,但对于所有这些,我都无法成功并且出现以下相同的错误。

在此处输入图像描述

我已经尝试过这个 repo 中给出的二进制文件,但对我不起作用。

https://github.com/vittorio-nardone/selenium-chromium-lambda

这些是我尝试过不同版本但对我不起作用的其他来源。

https://chromium.cypress.io/ https://github.com/adieuadieu/serverless-chrome/releases

  "errorMessage": "Message: unknown error: Chrome failed to start: exited abnormally.\n  (chrome not reachable)\n  (The process started from chrome location /opt/chromium is no longer running, so ChromeDriver is assuming that Chrome has crashed.)\n",

互联网/论坛上的人们说这个错误是由于 chrome 驱动程序和 chromium 二进制文件之间的版本不兼容。 但是我已经仔细考虑了这一点,但仍然没有成功。 请指导我如何使它工作。 提前致谢。

您可以尝试添加以下行

这会忽略 chrome 用来存储文件的/dev/shm目录,因为这个目录在 aws lambda 上很小,因为它是一个 docker 容器,我们可以禁用它

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM