Задать вопрос
motkot
@motkot
Программирование C#.

Почему browser.FrameLoadEnd перестал работать нормально?

Типо раньше было все более менее нормально, срабатывало 2 раза ( при начале и конце загрузки ) и нормально, а теперь срабатывает только при начале, когда html пустой. Че не так?
public Form1()
        {
            InitializeComponent();
            InitializeChromium();

            browser.FrameLoadEnd += WebBrowserFrameLoadEnded;
        }


        private void WebBrowserFrameLoadEnded(object sender, FrameLoadEndEventArgs e)
        {

            Task.Run(async () => html = await browser.GetSourceAsync());


            MessageBox.Show(html); // html = null
        }
  • Вопрос задан
  • 343 просмотра
Подписаться 1 Простой 7 комментариев
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Software-testing.ru
    Программирование на C# для тестировщиков
    10 недель
    Далее
Решения вопроса 1
Task.Run(async () => html = await browser.GetSourceAsync());
            MessageBox.Show(html); // html = null

Вы не дождались окончания загрузки.
Попробуйте сделать хендлер async void и сделать так:
html = await browser.GetSourceAsync()
MessageBox.Show(html);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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