c#webbrowser |推送实时报价

c#webbrowser |推送实时报价,c#,browser,quotes,real-time,stock,C#,Browser,Quotes,Real Time,Stock,我是程序员和股票交易员 之前 我已经写了一份日交易申请表。直到上周,还可以从中获取实时报价。每次浏览该网站时,报价都发生了变化。然后可以使用正则表达式(regex)对HTML内容进行解码 问题 到今天为止,他们已经停止了这项服务。现在,在页面上浏览时,引用不是实时的。现在获取股票报价的唯一方法是使用推式报价“推式开始”按钮。 然而,我不知道如何基本上用C#获取它们。 当我创建一个webbrowser元素时,我知道从中获取推引号的唯一方法是给webbrowser元素一个focus send键ctr

我是程序员和股票交易员

之前
我已经写了一份日交易申请表。直到上周,还可以从中获取实时报价。每次浏览该网站时,报价都发生了变化。然后可以使用正则表达式(regex)对HTML内容进行解码

问题
到今天为止,他们已经停止了这项服务。现在,在页面上浏览时,引用不是实时的。现在获取股票报价的唯一方法是使用推式报价“推式开始”按钮。 然而,我不知道如何基本上用C#获取它们。 当我创建一个webbrowser元素时,我知道从中获取推引号的唯一方法是给webbrowser元素一个focus send键ctrl+a和ctrl+C,并将数据插入到某个地方进行解码。这是不需要的,因为控件已从用户处移开,如果在过程中单击其他控件,则可能会导致意外行为

问题

那么,是否有一种正确的方法来解码C#中的推送股票报价?

您可以通过web浏览器控件直接访问DOM-例如,单击按钮,您可以使用以下按钮(其中浏览器控件称为#浏览器):


然后,您可以每隔一段时间(使用
\u browser.Document
)访问broser DOM,并像以前一样使用正则表达式进行解析。一种更简洁的方法可能是使用XPath提取表和单个股票报价

也许他们知道您的小应用程序:)您可能不是唯一一个这样做的人,或者有人抱怨必须刷新页面才能看到新的报价
HtmlDocument doc = _browser.Document;
HtmlElement el;
el = doc.GetElementById(ButtonName);
el.InvokeMember("click");