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

时间:2018-05-31 15:36:05

标签: puppeteer-sharp

我想在特定路径下下载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版本下载到自定义目录中,我认为它也有足够的信息来确定平台。

1 个答案:

答案 0 :(得分:3)

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

        ExecutablePath = downloader.GetExecutablePath(chromiumRevision)