「WebBrowserでフレーム内のボタンをクリックするには?」や
「ブラウザの選択メニュー、決定ボタンをVBから操作するには?」の
過去ログを参考にしたのですが、行き詰まってしまいましたので
ご教授をお願いいたします。
WebBrowserで表示するフォームには以下のボタンが2つあり..
—————————————————————————————
<input type=submit name="Reload" value="再読込">
<input type=submit name="Logout" value="ログアウト">
—————————————————————————————
もし上記の様に「再読込」ボタンが存在するページだと、フォームデータを
定期的に送信し、「再読込」ボタンが存在しなければページの定期的に更新を行いたく..
——————————————————————————————————————————————————
Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
Dim objForm As mshtml.HTMLFormElement = WebBrowser.Document
If objForm.getElementsByName("Reload").length = 0 Then
'「再読込」ボタンがなければ現在のページを更新
WebBrowser.CtlRefresh()
Else
'「再読込」ボタンがあればフォームデータを送信
objForm.Submit() ←動作していない?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
End If
——————————————————————————————————————————————————
と、書いてみたのですが、objForm.Submit()が動作していない(?)様です。
過去ログの魔界の仮面弁士さんからの発言(2003/09/05(金) 02:19:53)で
objForm.Submit()だけではボタンは押されない。との事を書いていたのですが
具体的な処置が分からず、お力添えをお願いしたいと存じます。
ちなみにVB.NETです。
試してはいませんが———
Set Buttons = objForm.getElementsByName("Reload")
If Buttons.length = 0 Then
'Reloadボタンが無い
Else
'最初のReloadボタンを押す
Buttons(0).click
End If
———という感じかな?
おっとと。.NETでしたか……とすると、こうかな? (確認していません)
Buttons = objForm.getElementsByName("Reload")
If Buttons.length = 0 Then
'Reloadボタンが無い
Else
'最初のReloadボタンを押す
Buttons.Item(0).click()
End If
# 連続投稿失礼 m(_ _)m
> Dim objForm As mshtml.HTMLFormElement = WebBrowser.Document
普通は、「As MSHTML.HTMLDocument」を使う事になるかと。
(本来、HTMLFormElement は、<form>要素を割り当てる物です)
魔界の仮面弁士さん、ありがとうございます。
まったく理解力が足らなくて申し訳ございませんでした。
ご教示いただいたものでうまく動きました。
本当にありがとうございます。
重ね重ねお礼申し上げます。
ツイート | ![]() |