3

次のサイトを見ています: www.example.com

GeckoWebBrowser オブジェクトを使用してサイトに移動し、オブジェクトの HTML のスナップショットを毎秒取得しています。次に、DOM をナビゲートして目的のテーブル (div = 'tableContainer') を取得し、この要素の InnerHTML を取得して、テーブルを C#.Net データセットに解析します。その後、'Price' オブジェクトを作成し、更新の処理を続行できます。

これを非同期で実行したいと思います。ループ内の要素の 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または任意のポインターでこれに関する提案をいただければ幸いです。

ありがとう。

4

1 に答える 1

0

参照: https://developer.mozilla.org/en/DOM/DOM_event_reference

私の知る限り、必要なイベントはどれも標準の一部ではありませんが、制御するクライアント向けにのみ開発しているのであれば、問題はないと思います。

もちろん、これを実行するのは間違っています。HTML スクレイピングのステップをスキップして、Web ページが接続されている Web サービスから直接データを取得してみませんか?

DOM は単なる UI モデルであり、データのソースではありません。データのソースは Web サービスである必要があります。

于 2011-12-14T04:14:13.283 に答える