AWS Lambda Selenium WebDriver - Ошибка загрузки ibglib-2.0.so - PullRequest
1 голос
/ 04 августа 2020

Я пытаюсь запустить безголовую версию Chrome в функции Lamdba. Мне нужен способ запросить URL-адрес, загрузить страницу и запустить любой javascript на этой странице. Пока моя функция:

public class Function
{
    public string FunctionHandler(string input, ILambdaContext context)
    {
        IWebDriver driver = GetDriver(context);
        driver.Navigate().GoToUrl("https://www.mybaggage.com/");
        driver.Quit();

        return input?.ToUpper();
    }

    public IWebDriver GetDriver(ILambdaContext context)
    {
        var tmpPath = Path.GetTempPath();

        DriverManager driveManager = new DriverManager();
        driveManager.SetUpDriver(
            "http://chromedriver.storage.googleapis.com/85.0.4183.38/chromedriver_linux64.zip",
            Path.Combine(tmpPath, "chromedriver"),
            "chromedriver"
        );

        ChromeOptions options = new ChromeOptions();
        
        options.AddArguments(new List<string>() {
            "--no-sandbox",
            "--headless",
            "--disable-gpu",
            $"--homedir={tmpPath}"
        });

        return new ChromeDriver(tmpPath, options);
    }
}

Это приводит к следующей ошибке:

/tmp/chromedriver: error while loading shared libraries: libglib-2.0.so.0: cannot open shared object file: No such file or directory

Я добавил пакет под названием glib, но все равно получаю Ошибка. Установлены следующие пакеты:

<PackageReference Include="Amazon.Lambda.Core" Version="1.1.0" />
<PackageReference Include="Amazon.Lambda.Serialization.SystemTextJson" Version="2.0.0" />
<PackageReference Include="glib" Version="2.36.2.11" />
<PackageReference Include="Selenium.WebDriver" Version="3.141.0" />
<PackageReference Include="WebDriverManager" Version="2.9.3" />

Есть ли способ устранить ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...