1

我正在尝试使用 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

富有的

4

0 回答 0