2010-04-06 40 views
0

Je suis programmeur et share trader.C# webbrowser | poussé des citations en temps réel

Avant
J'ai écrit une application de négociation de jour. Jusqu'à la semaine dernière, il était possible d'aller chercher des devis en temps réel à partir de http://aktien.boerse.de/aktien_startseite.php?view=2&order=name%20asc&liste=prime&page=0. Chaque fois que le site a été surfé, les citations avaient changé. Le contenu HTML pourrait alors être décodé avec des expressions régulières (regex).

Problème
Ils ont arrêté ce service aujourd'hui. Maintenant, les citations sont pas en temps réel lorsque vous surfez sur la page. La seule façon d'obtenir des cotations boursières maintenant est d'utiliser des guillemets poussés "Push starten" -Button. Cependant, je ne sais pas comment les récupérer en C#. Lorsque je crée un élément webbrowser, le seul moyen que je connaisse pour en extraire les push est de donner à l'élément webbrowser la touche d'envoi du focus ctrl + A et ctrl + C et d'insérer les données pour le décodage. Cela n'est pas souhaitable car le contrôle est éloigné de l'utilisateur et si un autre contrôle est cliqué pendant le processus, cela peut entraîner un comportement inattendu.

Question
Ainsi est-il une bonne façon de décoder les cotations boursières push en C#?

+2

Peut-être qu'ils connaissent votre petite application :) –

+0

vous ne pouvez pas être le seul à le faire, ou les gens se sont plaints de devoir actualiser la page pour voir nouvelles citations – Asher

Répondre

0

Vous pouvez accéder au DOM directement par le contrôle du navigateur Web - par exemple de cliquer sur le bouton, vous pouvez utiliser les éléments suivants (où le contrôle du navigateur est appelé _browser):

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

Vous pouvez alors accéder aux broser DOM à intervalles (en utilisant _browser.Document) et analyser en utilisant les expressions régulières de la même manière que vous étiez précédemment. Un moyen plus pratique peut être d'utiliser XPath pour extraire la table et les cotations boursières individuelles