在AWS Lambda中使用WebDriverManager和Chrome启动失败并异常退出的问题通常是由于缺少必要的依赖项或配置错误引起的。以下是一些可能的解决方法:
确保安装了正确的WebDriverManager版本。可以使用以下命令安装最新版本:
npm install webdriver-manager
确保安装了正确的Chrome浏览器版本。WebDriverManager需要与Chrome浏览器版本匹配。可以通过以下命令安装最新版本的Chrome浏览器:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo apt-get install -f
确保在AWS Lambda函数配置中正确设置了Chrome浏览器的路径。在AWS Lambda中,Chrome浏览器的路径可能与默认路径不同。可以使用以下代码示例设置Chrome浏览器的路径:
const chrome = require('chrome-aws-lambda');
...
const options = {
executablePath: await chrome.executablePath,
args: chrome.args,
headless: chrome.headless,
};
const browser = await puppeteer.launch(options);
确保在AWS Lambda函数配置中正确设置了Chrome浏览器的环境变量。在AWS Lambda中,某些环境变量可能需要手动设置。可以使用以下代码示例设置Chrome浏览器的环境变量:
process.env.PATH = `${process.env.PATH}:${process.env.LAMBDA_TASK_ROOT}`;
process.env.WEBDRIVER_PATH = '/tmp/chromedriver';
process.env.SHARED_DIR = '/tmp';
process.env.GOOGLE_CHROME_SHIM = '/opt/bin/chromium-browser';
如果仍然遇到问题,可以尝试将AWS Lambda函数的内存大小增加到更高的值。有时,Chrome启动失败可能是由于内存不足引起的。增加内存大小可能有助于解决此问题。
通过检查这些解决方法,您应该能够解决AWS Lambda WebDriverManager Chrome启动失败并异常退出的问题。