1

我想在特定路径下下载 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“知道”如何在给定修订号的情况下找到可执行文件,因为它“应该”已经“知道”我已经指示 Puppeteer Sharp 将 Chromium 构建下载到自定义目录,我认为它有足够的信息来也确定平台。

4

1 回答 1

3

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

        ExecutablePath = downloader.GetExecutablePath(chromiumRevision)
于 2018-05-31T15:36:04.760 回答