@PickGG

В чем проблема с async/await?

public async void StartAsync()
        {
            Console.WriteLine(Thread.CurrentThread.ManagedThreadId); // 1
            var browser = await GetBrowserAsync(false);
        }
        private static Browser browser;
        private async Task<Browser> GetBrowserAsync(bool headless)
        {
            if (browser == null)
            {
                Console.WriteLine(Thread.CurrentThread.ManagedThreadId); // 1
                var options = new LaunchOptions { Headless = headless };
                await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision); // Скачиваем Chrome в директорию с exe
                Console.WriteLine(Thread.CurrentThread.ManagedThreadId); // 1
                browser = await Puppeteer.LaunchAsync(options); // Запускаем браузер
            }
            return await Task.FromResult(browser);
        }

Вылетает ошибка System.IO.FileNotFoundException: "Failed to launch chrome! path to executable does not exist". Тоесть строка browser = await Puppeteer.LaunchAsync(options); выполняется сразу же после строки await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision); и браузер просто не успевает скачаться
  • Вопрос задан
  • 565 просмотров
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08
var browserFetcher = Puppeteer.CreateBrowserFetcher();
var revisionInfo = await browserFetcher.DownloadAsync(533271);
var browser = await await Puppeteer.LaunchAsync(new LaunchOptions { ExecutablePath = revisionInfo.ExecutablePath});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы