Selenium aws lambda:如何修复&x27;壁虎河';可执行文件需要位于路径“中”;

Selenium aws lambda:如何修复&x27;壁虎河';可执行文件需要位于路径“中”;,selenium,aws-lambda,geckodriver,Selenium,Aws Lambda,Geckodriver,因此,我尝试在aws lambda runtime Python3.6中使用firefox,我已按以下顺序添加了使用层的依赖项:selenium3.14、geckodriver25和firefox 69 binary,以创建我的webdriver实例我使用以下代码: from selenium import webdriver from selenium.webdriver.firefox.options import Options path = '/tmp/' def start_brow

因此,我尝试在aws lambda runtime Python3.6中使用firefox,我已按以下顺序添加了使用层的依赖项:selenium3.14、geckodriver25和firefox 69 binary,以创建我的webdriver实例我使用以下代码:

from selenium import webdriver
from selenium.webdriver.firefox.options import Options
path = '/tmp/'

def start_browser(url, headless=True):
    fp = webdriver.FirefoxProfile()
    options = Options()
    if headless==True:
        options.headless = True
    fp.set_preference("browser.preferences.instantApply",True)
    fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/xls, application/vnd.ms-excel")
    fp.set_preference("browser.helperApps.alwaysAsk.force",False)
    fp.set_preference("browser.download.dir", path)
    fp.set_preference("browser.download.folderList", 2)
    fp.set_preference("browser.download.manager.showWhenStarting", False)
    browser = webdriver.Firefox(
        options=options,
        executable_path="/opt/geckodriver",
        log_path="/tmp/geckodriver.log",
        firefox_profile=fp,
        firefox_binary="/opt/firefox/firefox"

    )
    browser.get(url)
    return browser

我的函数执行,但在从aws控制台进行测试时得到此响应

{
  "message": "Your function executed unsuccessfully!",
  "event": "Message: 'geckodriver' executable needs to be in PATH. \n"
}

我需要将lambda Dependencies的路径从
“/opt/my_dependency”
更改为
“/opt/python/my_dependency”

您能提供一些关于Firefox如何在lambda中运行的信息吗?我试着下载到一个挂载的EFS分区,但是当用正确的geckodriver版本将其称为headless时,我得到一个错误,即二进制文件不是二进制文件@我正在学习代码hi@Kile!你找到了二进制文件不是二进制文件的解决方案了吗?嗨@imlearningcode。你知道我在哪里可以找到geckodriver25和firefox 69二进制文件吗?。我在使用chrome时遇到了麻烦,我想给Firefox一个机会。