我想在特定路径下下载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-win32chrome.exe",
chromiumDownloadsPath,
chromiumRevision
)
},
chromiumRevision
);
看起来特别笨拙的是需要添加路径的"Win32-{1}chrome-win32"
部分。我希望Puppeteer.LaunchAsync
"知道"如何找到给定修订号的可执行文件,因为它"应该"已经"知道"我已经指示Puppeteer Sharp将Chromium版本下载到自定义目录,我认为它也有足够的信息来确定平台。
Downloader
类包含一个方法public string GetExecutablePath(int revision)
,它完全可以完成我所期望的可能。因此,LaunchOptions
对象的ExecutablePath
属性应该只是:
ExecutablePath = downloader.GetExecutablePath(chromiumRevision)