Request BrowserId : 1 not found it's likely the browser is already closed

Рейтинг: 0Ответов: 1Опубликовано: 08.08.2023

При использовании метода EvaluateScriptAsync экземпляра класса ChromiumWebBrowser возвращает сообщение Request BrowserId : 1 not found it's likely the browser is already closed. Библиотека CefSharp. Вот фрагмент кода обработчика события loadingStateChanged:

    private async void _browser_LoadingStateChanged2(object sender, LoadingStateChangedEventArgs e)
    {
        if (!e.IsLoading)
        {
            JavascriptResponse resp = await _browser.GetMainFrame().EvaluateScriptAsync(
                @"document.getElementsByClassName('xt0psk2')[0]['href'];"
            );
        }
    }

Ответы

▲ 1

У меня была такая же проблема, я без видимых причин иногда получал такую же ошибку. Полагаю это баг в Cefs браузере (вплоть до последней на данный момент версии - 117.2.40). Попутно выяснил что аналог этого кода, - работает без ошибок:

public void ExecuteAsync(IWpfWebBrowser browser, String script)
{
  browser.ExecuteScriptAsync(script);
}

Надеюсь этот пример послужит зацепкой для решения вашей проблемы.