我正在使用Puppeteer-Sharp下載html站點(diǎn)的 ,我創(chuàng)建了一個(gè)調(diào)用的方法,該方法GetHtml返回一個(gè)包含站點(diǎn)內(nèi)容的字符串。問題是當(dāng)我撥打電話時(shí)await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);應(yīng)用程序退出沒有任何錯(cuò)誤,這是我的代碼:public class Program{ public static void Main(string[] args) { try { new FixtureController().AddUpdateFixtures(); } catch (Exception ex) { new Logger().Error(ex); } }}public async Task AddFixtures(){ int monthDays = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); var days = Enumerable.Range(1, monthDays).Select(x => x.ToString("D2")).ToArray(); HtmlDocument doc = new HtmlDocument(); //this is part of Htmlagilitypack library foreach (var day in days) { //Generate url for this iteration Uri url = new Uri("somesite/" + day); var html = await NetworkHelper.GetHtml(url); doc.LoadHtml(html); }}所以每次 foreach 迭代都會(huì)生成一個(gè) url 來下載數(shù)據(jù),并且該方法GetHtml應(yīng)該html在到達(dá)時(shí)返回但應(yīng)用程序退出(沒有錯(cuò)誤)var html = ..,這是以下代碼GetHtml: public static async Task<string> GetHtml(Uri url) { try { //here the crash await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision); } catch (Exception e) { //No breakpoint point firing } await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision); var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true }); using (Page page = await browser.NewPageAsync()) { await page.GoToAsync(url.ToString()); return await page.GetContentAsync(); } }
BrowserFetcher 使用 await 退出應(yīng)用程序
喵喵時(shí)光機(jī)
2021-10-31 19:29:36