Запускает событие, когда div изменяется с помощью javascript в webBrowser1 в winforms

#c# #javascript #winforms

#c# #javascript #winforms

Вопрос:

У меня есть приложение C # winform, которое собирает некоторые данные из консольных команд. После завершения первого шага сбора данных я открываю элемент управления веб-браузера и направляю его на сайт на основе flash и javascript, который проверяет скорость загрузки / выгрузки на сервер.

После того, как приложение Flash закончит проверять скорость, оно обновляет <div> с помощью вызова javascript.

Я пытаюсь собрать данные, которые приложение Flash отправляет в JavaScript. Я хочу передать его в строковую переменную внутри моего приложения winforms. Есть ли способ привязать его по мере его передачи <div> , или есть способ считывания его в переменную после его отображения на сайте.

HTML, который вызывает скрипт, является

 </script>
<script type="text/javascript" src="speedtest/functions.js"></script>

<br />

<div id="speed"></div>
  

Данные, которые я хочу ввести в свою переменную, представляют собой следующую форму download_speed скрипта и upload_speed.

Есть предложения о том, как я могу это сделать? у меня нет контроля над редактированием html в javascript на сайте.

Комментарии:

1. Если вы не можете редактировать ни HTML, ни JavaScript, какой подход вы намерены использовать?

2. ну, я загружаю страницу и получаю результат в виде плоского текста в элементе управления webbrowser внутри моего приложения, поэтому я подумал, что должен быть способ каким-то образом извлечь информацию через код.

3. Что ж, вам, вероятно, следует опубликовать более подробную информацию о характере вашего приложения, поскольку большинство людей определенно не предположили бы, что вы говорите о странице, отображаемой в браузере, управляемом каким-либо другим настольным / мобильным приложением.

Ответ №1:

я запустил его после запуска flash, я запускаю таймер, который отслеживает div и ищет изменения

это макет кода, который мне был нужен

     private void timer1_Tick(object sender, EventArgs e)
    {
        content = webBrowser1.Document.GetElementById("speed");
        string x = content.OuterHtml;
        if (x != CheckString)
        {
            timer1.Enabled = false;
            MessageBox.Show(x);

        }
    }