Sho*_*lik 7 selenium python-3.x selenium-chromedriver selenium-webdriver aws-lambda
我正在 aws lambda 中使用 selenium 运行 python 脚本。我创建了 2 层,1 层用于 selenium,1 层用于 chromedriver 和 headless-chromium。执行时我收到错误
Response
{
"errorMessage": "Message: Service /opt/chromedriver unexpectedly exited. Status code was: 127\n",
"errorType": "WebDriverException",
"stackTrace": [
" File \"/var/task/lambda_function.py\", line 36, in lambda_handler\n driver = webdriver.Chrome(options=options, executable_path=chromedriver_path, desired_capabilities=d,)\n",
" File \"/opt/python/lib/python3.8/site-packages/selenium/webdriver/chrome/webdriver.py\", line 70, in __init__\n super(WebDriver, self).__init__(DesiredCapabilities.CHROME['browserName'], \"goog\",\n",
" File \"/opt/python/lib/python3.8/site-packages/selenium/webdriver/chromium/webdriver.py\", line 89, in __init__\n self.service.start()\n",
" File \"/opt/python/lib/python3.8/site-packages/selenium/webdriver/common/service.py\", line 98, in start\n self.assert_process_still_running()\n",
" File \"/opt/python/lib/python3.8/site-packages/selenium/webdriver/common/service.py\", line 110, in assert_process_still_running\n raise WebDriverException(\n"
]
}
Run Code Online (Sandbox Code Playgroud)
我使用的是Python 3.8版本。从https://github.com/adieuadieu/serverless-chrome/releases?page=1下载最新版本 v1.0.0-57 headless-chromium 此 chromium 的 ChromeDriver 版本是https://chromedriver.storage.googleapis.com/index .html?路径=86.0.4240.22/
我正在使用本教程部署到 lambda https://dev.to/awscommunity-asean/creating-an-api-that-runs-selenium-via-aws-lambda-3ck3 本教程使用 python3.6 但我想使用较新的版本。
在这里发布我的 lambda 函数
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
def lambda_handler(event, context):
print("Launching browser")
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument("--no-sandbox")
options.add_argument("--log-level=1")
options.add_argument("--start-maximized")
options.binary_location = "/opt/headless-chromium"
chromedriver_path = "/opt/chromedriver"
driver = webdriver.Chrome(options=options, executable_path=chromedriver_path)
driver.get('https://www.google.com/')
driver.close();
driver.quit();
response = {
"statusCode": 200,
"body": "Selenium Headless Chrome Initialized"
}
return response
Run Code Online (Sandbox Code Playgroud)
提前致谢。
| 归档时间: |
|
| 查看次数: |
5522 次 |
| 最近记录: |