VB.NET2008でHTMLのボタンをクリックする方法について
- VB.NET2008を使用して、WebBrowserコントロールを利用してHTMLのボタンをクリックする方法を知りたいです。
- 具体的には、Button1をクリックすると、WebBrowserコントロールに表示されているWEBページのボタンを自動的にクリックしたいです。
- どのようにすればこの機能を実現することができるでしょうか?
- ベストアンサー
VB.NET2008を使用しています。
VB.NET2008を使用しています。 ----- HTML ----- <input type="submit" name="Enter" value="ボタン"> ----- END ------ ----- 構成@VB ----- Form1 Button1 <- これをクリックしてWebBrowserのボタンを押したことにする WebBrowser1 ----- END ----- 上のようなボタン(HTMLのもの)を VB.NETのButton1を押すとWebBrowser1に表示されているWEBページのボタンを 押したようにしたいのですがどのようにすれば実現できますか? よろしくお願いします。
- devman
- お礼率38% (48/125)
- Visual Basic
- 回答数2
- ありがとう数8
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
間違いました。 →htmElm.DomElement.FireEvent("onclick") これはJavascriptでクリックイベントを設定してある場合でした。 >type="submit" でしたね。。。 →htmElm.DomElement.click() こっちです。
その他の回答 (1)
- 1050 円(@1050YEN)
- ベストアンサー率69% (477/687)
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Me.WebBrowser1.Navigate("c:\test.htm") End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'ドキュメント Dim htmDoc As HtmlDocument = Me.WebBrowser1.Document 'ドキュメント内の「input」タグ達を取得 Dim htmElms As HtmlElementCollection = htmDoc.GetElementsByTagName("input") 'サンプルのHTMLは一個しかないようなので、とりあえず先頭を取得 Dim htmElm As HtmlElement = htmElms.Item(0) 'DOMを利用。mshtmlのサンプルはあちこちで落ちているはず 'あとはクリックイベントを呼ぶだけ 'スクロールでもマウスダウンでも何でも呼べる htmElm.DomElement.FireEvent("onclick") End Sub
関連するQ&A
- <form>タグに2つのボタン
<form>タグで2つのボタンを表示させ、以下のようにそれぞれのボタンで フィールドに別の値を入れて送信させることはできますでしょうか? できればHTMLで、できなければJavaScriptでできますでしょうか? ・button1を押したときは フィールド「CASE」に1を入れて送信、 HTMLで書くと、<input type="hideen" name="CASE" value="1"> ・button2を押したときは フィールド「CASE」に2を入れて送信、 HTMLで書くと、<input type="hideen" name="CASE" value="2"> ===== HTML ====================== <form action="test.cgi" method="post"> <input type="text" name="text1"> <input type="submit" value="button1"> <input type="submit" value="button2"> </form> 宜しくお願いします。
- ベストアンサー
- HTML
- vb2005のWebbrowserコントロールで複数のSubmitボタンがある場合
Webbrowserコントロールに読み込んだwebページ上に 複数のSUBMITボタンがある場合、name属性で押すボタンを選択し 実行する方法を教えてください。 -------------------------------------------------------------- 【htmlのソース】 <INPUT type=submit value=アップロード name=select> <INPUT type=submit value=次へ > -------------------------------------------------------------- 同一フォーム上に二つのボタンがある。 【vb2005のソース】 -------------------------------------------------------------- WebBrowser1.Document.Forms(0).InvokeMember("submit") -------------------------------------------------------------- を実行すると、 「<INPUT type=submit value=次へ >」のボタンの方は実行できるのですが、 「<INPUT type=submit value=画像のアップロード name=select>」の方は実行されません。 よく分からないなりに、 -------------------------------------------------------------- WebBrowser1.Document.All.GetElementsByName("select")(0).InvokeMember("submit") -------------------------------------------------------------- 等と書いてみましたが、反応ナシです。 ご教授、お願いいたします。
- ベストアンサー
- Visual Basic
- submitボタン上の文字とvalue=の数字
CSS3 + HTML5 でゲームを作っています。 Formのsubmitボタンを設置する必要があるのですが、ボタン上に表示する文字とvalue=の文字を分ける必要があります。 <input type="submit" name="point" value="送信する"> 上記では本来であれば数値を入れたいvalue=に、「ボタン上に表示する文字」を入れなければならないため使えません。 <button type="submit" name="point" value="10050">購入する</button> であれば、valueに数値を置き、ボタン上に文字を置けるため当方のニーズに叶うのですが、HTML5上で見るとボタンの大きさが<input type="submit>の3分の1くらいになってしまいます。 従い<button type="submit" name="point" value="10050">購入する</button> のボタンの大きさを変更する方法がわかればいいと思いますが、この方法でなくても構いません。 HTML5上で、当方のニーズに合うボタンを作るためにはどうしたらいいでしょうか?
- ベストアンサー
- HTML
- javascriptでinput属性の入力
複数のボタンがあります。 それぞれのボタンによって、value値を変えたいと考えています。 通常であれば <button class='button' type='submit' name='volume' value='350'>350購入</button> <button class='button' type='submit' name='volume' value='450'>450購入</button> という形を利用しますが、理由があり、 type='submit' を使用できません。 そこで、 <input id="button350" type="button" value="350購入" /> <input id="button450" type="button" value="450購入" /> というsubmit属性の無いボタンを使用しながら、「javascriptを使いname value を抽出しsubmitまで持っていく」ことを考えています。 そこで、下記のようなものを2種類(350と450は別の記載方法でテスト)作ってみましたが、いずれもsubmitは出来ますが、value値を渡すことが出来ません。 どのように書けば、name属性にvalue値を渡すことが可能でしょうか? <form action="abc.php" method="post" name="form2" id="form2"> <script> $(function(){ $('#button350').click(function() { $('input[type=\'submit\']'); $('input[name=\'volume\']'); $('input[value=\'350\']'); $('#form2').submit(); }); $('#button450').click(function() { $('input[type=\'submit\'],[name=\'d4_buy_stock_volume2\'],[value=\'450\']'); $('#form2').submit(); }); }); </script> <BR> <BR> <input id="button350" type="button" value="350購入" /> <BR> <input id="button450" type="button" value="450購入" /> </form>
- ベストアンサー
- JavaScript
- 複数ボタンを制御出来る2度押し防止ボタン
HTML5+CSS3でゲームを作っています。 フォームがあり、ボタンが複数並んでいます。 <SCRIPT TYPE="text/javascript"> <!-- function sendform(){ submitForm(); } function submitForm(){ document.form1.submit(); } // --> </SCRIPT> <FORM action="buy.cgi" method="post" name="form1" id="form1"> <button class="button8" type="submit" name="d4_buy" value="300 onclick="sendform()">300購入</button> <button class="button8" type="submit" name="d4_buy" value="400" onClick="sendform()">400購入</button> </FORM> 上記で正常に作動しますが、3G環境など通信状態の悪い時に、「300購入ボタンを押した直後に400購入ボタンを押す」と700購入が出来てしまいます。 【希望事項】 2つのボタンを連続して押しても2つ目が無効になるようにしたいというのが希望です。 ネットで調べたところ ****************************************** http://okwave.jp/qa/q627484.html ****************************************** <HTML><BODY> <FORM method="get" action="http://www.google.com/search"> <INPUT type="submit" value="submit1" onclick="this.form.q.value=this.value;this.disabled=true;this.form.submit()"> <INPUT type="submit" value="submit2" onclick="this.form.q.value=this.value;this.disabled=true;this.form.submit()"> <INPUT type="hidden" name="q" value="" > </FORM></BODY></HTML> ****************************************** という例があったため、この例に従って <SCRIPT TYPE="text/javascript"> <!-- function sendform(){ submitForm(); } function submitForm(){ document.form1.submit(); } // --> </SCRIPT> <FORM action="buy.cgi" method="post" name="form1" id="form1"> <button class="button8" type="submit" value="300 onclick="this.form.q.value=this.value;this.disabled=true;this.form.sendform()">300購入</button> <button class="button8" type="submit" value="400" onclick="this.form.q.value=this.value;this.disabled=true;this.form.sendform()">400購入</button> <INPUT type="hidden" name="d4_buy" value="" > </FORM> としてみたのですが、うまく数値の引き渡しが出来ません。(NULL となります) どのように改造すればいいか教えてください。 よろしくお願いいたします。
- 締切済み
- JavaScript
- IEでのフォームメールで、ENTERキーでのsubmitを動かさないようにしたいのですが。。
IEでフォームメールを使用したときにENTERキーを押下するとsubmitが動いてしまうのですが、その動きを止める為に 1.送信ボタンは <input type="button" name="submit" value=" 送信する " onClick="subm()"> で関数subm()で function subm() { document.form1.submit(); } という動きと 2.送信ボタンに<input type="button" name="submit" value=" 送信する " onClick="javascript:document.form1.submit()"> という動きの2つを試してみたのですが、どちらもエラーになってしまいました。 原因がわからないので調べているところですが、もしどなたか他の方法をご存知でしたら、教えていただけませんでしょうか?
- ベストアンサー
- JavaScript
- WebBrowser内で、ブログにログインするには
WebBrowserで、ブログのログイン画面を表示させ 自動でログインさせたいと思います。 URL → https://www.so-net.ne.jp/blog/login_sso?u=http%3A%2F%2Fblog.so-net.ne.jp%2F 分からないのは、「タブ」と「ログインボタン」のクリックです。 タブのクリックの仕方は、全く分かりませんでした。 ログインボタンを調べると <input id="loginformsubmit" type="submit" value="ログイン" name=""> となっており、 これを使って、vb.netでコーディングするには「name」が分からないと書けません。 With Me.WebBrowser1.Document.All Dim submit1 As HtmlElementCollection = .GetElementsByName("") submit1(0).InvokeMember("click") End With どのようにしたら、実現できるか 教えて下さい。 宜しくお願いします。
- ベストアンサー
- Visual Basic
- ボタン別でフォームの送信先を変えたい
同じ場所に3つある今のフォームを1つにまとめたいのですが、 「ラジオボタン」でやるのではなく「submitボタン」によって送信先の振り分けはできないのでしょうか? CGIなどを使って一旦クッションを置くのは問題ないです。何か参考になるサイトさんとかありましたら教えてください。 <form action="1.php" method="get" class="form" target="a" name="1"> <input type="hidden" name="s" value=90 /> <input type="hidden" name="t" value="e" /> <input type="text" name="moji" value="" size="8" /> <input type="submit" name="button" value="検索" /> </form> <form action="http://e.php" method="get" name="2" target="a"> <input type="hidden" name="test" value=et /> <input type="text" name="77" value="" size="8" /> <input type="submit" value="検索2" class="button" /> </form> <form action="http://8.cgi" method="get" target="a"> <input type="text" size="8" name="q" value="" /> <input type="submit" value="検索3" class="button" /> <input type="hidden" name="sut" value="JJ" /> </form>
- ベストアンサー
- CGI
- vb2005のログイン処理 -yahooメール-
お世話になります。 yahooメールのログイン処理プログラムをvb2005で書こうと思っています。 WebBrowser1.Document.Forms("login_form").DomElement("login").value = "あなたのログインネーム" WebBrowser1.Document.Forms("login_form").DomElement("passwd").value = "あなたのパスワード" でこの後、submitの部分を書きたいのですが どうも従来のvbとは異なるみたいでどのように コーディングしてよいのか分かりません。 教えてください。 お願いします。
- 締切済み
- Visual Basic
- submitではなくbuttonで送信
事情があり、submitではなくbuttonでフォームのデータを送信したいのですが、以下のように書くとbuttonでは4567が送信されません。 <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="submit" name="bbb" value="4567"> </form> ↓ <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="button" name="bbb" value="4567" onclick="submit();" > </form> submitと同じように、bbbのデータ4567も送信するにはどのように書けばよいのでしょうか? 宜しくお願いします。
- ベストアンサー
- JavaScript
お礼
ありがとうござます。 しかしDomElementにClickイベントがなかったのでがんばって試行錯誤したけっか Dim Elements As HtmlElementCollection = Me.WebBrowser1.Document.GetElementsByTagName("input") For Each Element As HtmlElement In Elements If Element.GetAttribute("type") = "submit" Then Element.InvokeMember("click") End If Next によって解決することができました。 ありがとうございます。