首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在AWS Lambda上调试Selenium和Chromedriver (chrome不可访问)

在AWS Lambda上调试Selenium和Chromedriver (chrome不可访问)
EN

Stack Overflow用户
提问于 2021-07-28 14:52:28
回答 1查看 460关注 0票数 0

我已经为无头chrome + python selenium部署了一个lambda函数,它与Serverless框架一起部署,在本地运行良好,但在Lambda上崩溃。

一些基本细节:(驱动信息: chromedriver=2.41.578700 (2f1ed5f9343c13f73144538f15c00b370eda6706),platform=Linux 4.14.231-180.360.amzn2.x86_64 x86_64)

铬合金版本: 89xx selenium==3.141.0

下面是我用selenium调用它的方法:

代码语言:javascript
运行
复制
options = Options()
    options.binary_location = '/opt/headless-chromium'
    options.add_argument('--headless')
    options.add_argument('--no-sandbox')
    options.add_argument('--single-process')
    options.add_argument("--remote-debugging-port=9222")
    options.add_argument('--disable-dev-shm-usage')
        #'/opt/chromedriver' not found
    driver = webdriver.Chrome('/opt/chromedriver', chrome_options=options)

    driver.get('https://www.neaminational.org.au/')
    body = f"Headless Chrome Initialized, Page title: {driver.title}"

    driver.close();
    driver.quit();

    response = {
        "statusCode": 200,
        "body": body
    }

我得到了一条神秘的消息:未知错误: Chrome启动失败:异常退出(chrome不可达)(从chrome location /opt/headless- Chrome启动的进程不再运行,因此ChromeDriver假设Chrome已经崩溃。)

现在我已经在我的ubuntu18(相同的铬二进制文件,相同的铬驱动程序,相同的安装selenium版本)上测试了它,它工作得很好……所以我的问题一定是与lambda amz linux环境的兼容性问题。

谁能给我一些关于如何解决这个问题的想法?尝试不同的版本似乎很愚蠢,因为它们在本地看起来都是兼容的。

非常感谢任何有见地的人!

EN

回答 1

Stack Overflow用户

发布于 2021-08-03 09:31:56

我发现这真的很有帮助:

https://www.youtube.com/watch?v=jWqbYiHudt8

https://github.com/soumilshah1995/Selenium-on-AWS-Lambda-Python3.7

版本如下:

代码语言:javascript
运行
复制
RUNTIME=python3.7

SELENIUM_VER=3.141.0
CHROME_BINARY_VER=v1.0.0-55 # based on Chromium 69.0.3497.81
CHROMEDRIVER_VER=2.43       # supports Chrome v69-71

赞助商: Soumil Nitin Shah。

最好的

拉蒙

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68562643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档