#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);
}
}