我正在尝试使用 AWS Lambda 上的 /tmp 文件夹通过 WebDriverManager 下载和执行 Chrome Selenium webdriver,但我不断收到 UnauthorizedAccessException 试图访问 /tmp。我认为 /tmp 可以用于这种事情,但谷歌似乎没有提供任何帮助,这是我的代码:
public IWebDriver GetDriver()
{
var tmpPath = Path.GetTempPath();
new DriverManager().SetUpDriver(
"http://chromedriver.storage.googleapis.com/76.0.3809.25/chromedriver_linux64.zip",
tmpPath,
"chromedriver"
);
ChromeOptions options = new ChromeOptions();
options.AddArguments(new List<string>() {
"--no-sandbox",
"--headless",
"--disable-gpu",
$"--homedir={tmpPath}"
});
return new ChromeDriver(tmpPath, options);
}
我的例外
"errorType": "AggregateException",
"errorMessage": "One or more errors occurred. (Access to the path '/tmp/' is denied.)",
"stackTrace": [
"at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)",
"at lambda_method(Closure , Stream , Stream , LambdaContextInternal )"
],
有没有人成功地使用 DriverManager 在 AWS Lambda 上运行无头 chrome 实例?将不胜感激一些指针。
TIA
富有的