AWS Lambda 上的 Headless Chrome Python 3.8 - 意外退出。状态码是:127

Posted

技术标签:

【中文标题】AWS Lambda 上的 Headless Chrome Python 3.8 - 意外退出。状态码是:127【英文标题】:Headless Chrome Python 3.8 on AWS Lambda - unexpectedly exited. Status code was: 127 【发布时间】:2020-09-18 11:25:10 【问题描述】:

我正在尝试在 AWS Lambda 中安装/运行 Head-Less Chrome,但在通过 Lambda 测试时出现以下错误。

"errorMessage": "消息:服务 /tmp/bin/chromedriver 意外退出。状态码为:127\n", "errorType": "WebDriverException"

我正在使用适用于 Linux 的 ChromeDriver 83.0.4103.39。

在 Python 中执行的步骤:

    在 Lambda 中创建 /tmp/bin 将 Chrome 驱动程序复制到 /tmp/bin 将权限更改为 0777

Python 代码:

在下一行抛出错误 -

driver = webdriver.Chrome(chrome_options=chrome_options, executable_path= "/tmp/bin/" + chrome_linux_driver)

当我在具有相同 Windows Chrome 驱动程序的 Windows 下运行时,代码运行良好。

非常感谢任何帮助。

【问题讨论】:

"...在具有相同 windows Chrome 驱动程序的 windows 下运行。"你在 Linux 上使用 Windows 二进制文件吗?如果是,那将不起作用。 你是如何解决这个问题的?我正在运行 Linux 二进制文件,而不是 Windows .. 有什么帮助吗? @Deysgroup 您能否查看 ChromeDriver 日志记录,获取日志文件,如果没有给出解释,请在此处发布? chromedriver.chromium.org/logging 【参考方案1】:

错误可能来自您使用的 chromedriver 版本和 headless chromium 二进制文件不同,因此请确保为两者下载相同的版本

另一个原因可能是您没有使用 linux chromedriver 和 headless chromium,并且由于 lambda 在 linux 上工作,因此代码将无法工作

希望这很有用。

【讨论】:

@anesbayram 出现异常的原因有很多。我遇到了这个错误,但 OP 说她\他复制了二进制文件。也许日志会更清楚。感谢您的回复。

以上是关于AWS Lambda 上的 Headless Chrome Python 3.8 - 意外退出。状态码是:127的主要内容,如果未能解决你的问题,请参考以下文章

aws lambda 上的保留并发不会阻止 lambda 进行更多扩展?

schedult 上的 aws 自定义事件以触发 lambda 使用 Terraform

是啥导致 AWS Lambda 上的 Mongodb 超时错误?

AWS 事件总线无法将日志写入来自 AWS Lambda 的自定义日志组上的 CloudWatch

AWS Lambda:提供的执行角色无权调用 EC2 上的 DescribeNetworkInterfaces

如何在 AWS Lambda 上的无服务器应用程序中存储和使用 HTML 模板(使用 AWS SAM)?