Я пытаюсь запустить безголовую версию 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" />
Есть ли способ устранить ошибку?