c # webbrowser | толкнул в реальном времени цитаты - PullRequest
0 голосов
/ 06 апреля 2010

Я программист и трейдер акций.

До
Я написал дневное торговое приложение. До прошлой недели можно было получать котировки в реальном времени с http://aktien.boerse.de/aktien_startseite.php?view=2&order=name%20asc&liste=prime&page=0. Каждый раз, когда сайт просматривался, цитаты менялись. Затем содержимое HTML может быть декодировано с помощью регулярных выражений (регулярное выражение).

Задача
Они прекратили эту услугу сегодня. Теперь кавычки не в реальном времени при серфинге на странице. Единственный способ получить котировки акций в настоящее время - это нажать на кнопку «Push Starten». Однако я не знаю, как в основном получить их в C #. Когда я создаю элемент webbrowser, я знаю, что единственный способ получить из него push-кавычки состоит в том, чтобы дать элементу webbrowser фокусную кнопку отправки ctrl + A и ctrl + C и вставить данные куда-нибудь для декодирования. Это нежелательно, поскольку элемент управления удален от пользователя, и в случае нажатия какого-либо другого элемента управления во время процесса это может привести к неожиданному поведению.

Вопрос
Так есть ли правильный способ декодировать push-котировки в C #?

1 Ответ

0 голосов
/ 06 апреля 2010

Вы можете получить доступ к DOM напрямую через элемент управления веб-браузера - например, нажав кнопку, вы можете использовать следующее (где элемент управления обозревателем называется _browser):

HtmlDocument doc = _browser.Document;
HtmlElement el;
el = doc.GetElementById(ButtonName);
el.InvokeMember("click");

Затем вы можете получить доступ красширяйте DOM с интервалами (используя _browser.Document) и анализируйте с помощью регулярных выражений так же, как вы делали это раньше.Более аккуратным способом может быть использование XPath для извлечения таблицы и отдельных котировок акций

...