如何使用自定义下载文件夹和启动器可执行路径?

How to use a custom downloads folder and the launcher executable path?

我想在特定路径下下载 Chromium。但是为了能够在同一路径下使用可执行文件启动 Chromium,我必须构建一个可执行路径,这看起来有点笨拙。我希望我目前缺少更好的方法。这里基本上是我的代码的相关版本:

string chromiumDownloadsPath =
    String.Format(
        @"{0}\Puppeteer Sharp downloads",
        baseDirectoryPath
        );

Downloader downloader = new Downloader(chromiumDownloadsPath);
await downloader.DownloadRevisionAsync(chromiumRevision);

var browser = await Puppeteer.LaunchAsync(
    new LaunchOptions
    {
        Headless = true,
        ExecutablePath =
            String.Format(
                @"{0}\Win32-{1}\chrome-win32\chrome.exe",
                chromiumDownloadsPath,
                chromiumRevision
                )
    },
    chromiumRevision
    );

看起来特别笨拙的是需要添加路径的 "\Win32-{1}\chrome-win32" 部分。我期待 Puppeteer.LaunchAsync 到 'know' 如何找到给定修订号的可执行文件,因为它 'should' 已经 'know' 我指示 Puppeteer Sharp 下载 Chromium 构建到自定义目录,我认为它也有足够的信息来确定平台。

Downloader class 包含一个方法 public string GetExecutablePath(int revision) 完全符合我的预期。 LaunchOptions 对象的 ExecutablePath 属性 因此应该是:

        ExecutablePath = downloader.GetExecutablePath(chromiumRevision)