目標を達成するためには、次のガイドラインに正しく従う必要がある、少しトリッキーな質問です。
- フォームにタイマーを作成する必要があります。tick でバインドし、約 500 ミリ秒の間隔を与えます。
timer_tick イベントに次のコードを記述します。
if (browser.ReadyState == WebBrowserReadyState.Complete)
準備完了状態になったら、ajax リクエストの完了後に更新されると思われる html 要素を探します。
この方法で、任意の要素をチェックできます。
HtmlElementCollection forms = browser.Document.GetElementsByTagName("form");
HtmlElement form = null;
foreach (HtmlElement el in forms)
{
string name = el.GetAttribute("name");
if (name == "DATA")
{
form = el;
break;
}
}
4) 要素を取得したら、作業を続行できます。
更新:これは、必要に応じて拡張できるタイマーティックコーディングですTimer1.Inverval = 100
(100ミリ秒)を設定していることを確認してください
private void Timer1_Tick(sender, args)
{
Application.DoEvents();
// make sure your are pulling right element id
HtmlElement cTag = webBrowser.Document.GetElementById("myelement");
if(cTag != null) // if elemnt is found than its fine.
{
cTag.SetAttribute("value", "Eugene");
Timer1.Enabled = false;
}
else
{
// dont worry, the ajax request is still in progress... just wait on it and move on for the next tick.
}
Application.DoEvents(); // you can call it at the end too.
}