将侦听器添加到DOM元素HTML更新。 Gecko,C#.Net,Java

时间:2011-11-17 12:48:14

标签: java javascript dom gecko geckofx

我正在查看以下网站:www.example.com

我使用GeckoWebBrowser对象导航到该站点,并每秒拍摄对象的HTML快照。然后我导航DOM以获取我想要的表(div ='tableContainer'),获取此元素的InnerHTML,并将表解析为C#.Net数据集。然后我可以创建“价格”对象并继续处理更新。

我想异步执行此操作:无需在循环中检查元素的HTML。如果没有更新,我不想做任何事情。如果有更新,我想收集HTML(最好只为已更新的行/列/单元格!!)。我该怎么办?

this.geckoWebBrowser1.Window.Scripter.AddEventListener("updateItem_inJavaScriptCode", new EventHandler<DOMJSONStringEventArgs>(OnMyExtensionEvent));

Skybound.Gecko.GeckoElement tableContainer = gwb.Document.GetElementById("tableContainer");
tableContainer+= new GeckoDOMElementHTMLCHANGEDUPDATE(methodToCallWithDOMUpdate);`

我很感激在Java或C#.Net或任何指针中对此提出任何建议。

感谢。

1 个答案:

答案 0 :(得分:0)

请参阅:https://developer.mozilla.org/en/DOM/DOM_event_reference

据我所知,您所需要的活动都不是标准的一部分,但如果您只为您控制的客户开发,我认为没有任何问题。

这当然是错误的。为什么不跳过HTML抓取步骤直接从网页插入的任何Web服务中获取数据?

我认为DOM只是一个UI模型,它不是数据源。数据来源应该是您的网络服务。