• ベストアンサー

C# ブラウザの自動クリック

C#のwebBrowserで開いたページを自動でクリックしたいんですが、htmlが <li id="A"><a href="B" title="C">C</a></li> この様になっておりますので、 .Document.GetElementById("A").InvokeMember("click"); とIDタグからのクリックを試みましたが、動作しません。 何が間違えているのかご教授下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

<li>の下の<a>をクリックをするのだから、 .Document.GetElementById("A").GetElementsByTagName("a")[0].InvokeMember("click"); もしくは .Document.GetElementById("A").Children[0].InvokeMember("click");

manabu3
質問者

お礼

いつもお世話になっております。 おかげで出来ましたっ! ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C# ブラウザの自動クリック

    C#のwebBrowserで開いたページを自動でクリックしたいんですが、htmlが <a href="○○○" title="A"> この様になっている場合、どの様にすれば良いかご教授下さい。

  • C#でブラウザ作成、mixi上で自動運転(ボタンクリック)ができません。

    勉強のためC#でブラウザ作成を行っています。 (Microsoft Visual Studio C# 2008 Express Edition) まずはmixiのログイン画面で自動ログインするブラウザを作成しています。 URLはここです。 http://mixi.jp/home.pl メールアドレスやパスワードは入力できますが、「ログインボタン」はIDがないため、私の知識ではクリックできません。 記述したコードは、以下になります。 //ログイン用のEメールアドレスを入力 HtmlElement LoginId = this.webBrowser1.Document.GetElementById("email"); LoginId.InnerText = "aaaaaaa@yahoo.co.jp"; //パスワードを入力 HtmlElement LoginPass = this.webBrowser1.Document.GetElementById("password"); LoginPass.InnerText = "password_abc"; //チェックボックス(次回から自動でログイン)をチェック HtmlElement CheckBox = this.webBrowser1.Document.GetElementById("sticky"); LoginButton.InvokeMember("click"); //ここに「ログイン」ボタン押下処理を追加予定 解決方法,参考になるサイト,その他ご意見等、ご助言をお願いします。

  • C# ブラウザの自動クリック

    C#のwebBrowserで開いたページを自動でクリックしたいんですが、htmlがsubmit等が無く、仮に <a href="javascript:void(0);" onclick="A"><img src="B" alt="C" title="D" /></a> となっている場合、どの様にすれば良いかご教授下さい。

  • C# webBrowser html

    Visual Studio Express 2013 C#の初心者です。 webBrowserで開いたページ内のボタンを自動でクリックしたいんですが、html内の(ほにゃらら)がアクセスするたび変わるので HtmlElementCollection{ここがわからんbuttons?} = webBrowser1.Document.GetElementsByTagName("会員の方はこちらよりログインしてください"); {ここがわからんbuttans?}[ ? ].InvokeMember("click"); なんてやってみたけどダメですね、どうかよろしくお願いします。 クリックしたいところのhtmlは以下です。 <li class="header-forNew-login"> <a title="会員の方はこちらよりログインしてください" onclick="_gaq.push(['_trackEvent', 'top', 'no- login', 'btn-login']);" href="https://www.ほにゃらら"> <span class="icon-user"></span><strong>ログイン</strong> </a> </li> ちなみにhtmlも初心者です

  • WebBrowser 内のボタンをクリックし、引数を渡したい。

    WebBrowser 内のボタンをクリックし、引数を渡したい。 WebBrowser コントロールを使用していて Windows アプリからページ内のボタンをクリックする方法について質問です。 以下のボタンが html で定義されているとして、 <input type = "button" id = "button1" onclick="javascript:foo();" /> HtmlElement element = null; element = webBrowser1.Document.GetElementById("button1"); element.InvokeMember("click"); こうすると、javascript の foo() が実行されます。 本題はここからなんですが、 この関数fooに引数を渡したいのです! 例えばfooの定義を var foo=function(arg) { alert(arg); } として、アプリ側から、 element.InvokeMember("click","this is test"); のようにすれば動くかと思ったのですが、だめでした。 方法をご存知のかた、ご教授願います!

    • ベストアンサー
    • HTML
  • jqueryによるクリック時のclass名追加

    サイドバーのメニューをクリックした際にどのページか分かるように、クリックしたリンクの色を変えたいと思います。 例えばページAリンクをクリックした際にliタグにid=selectを追加し、 他のリンクにもしid=selectがついている場合は、削除するという処理を jQueryで行いたいのですが、どのように記述すればよろしいでしょうか? 分かる方、ご教授お願いします>< ■HTML ----------------------------------- <div id="sidebar"> <ul> <li><a href="">ページA</a></li> <li><a href="">ページB</a></li> <li><a href="">ページC</a></li> <li><a href="">ページD</a></li> </ul> </div> ■CSS ----------------------------------- #sidebar li a { color: #F00; } #select a { color: #0F0; }

  • name テキスト 画像名等が無いリンクをクリック

    VBで特定のリンクをクリックしたく様々なソースを 見て似たような記述は数多く見かけたのですが、 私のクリックしたいリンクが特殊でどうもうまく クリック出来ません。 ■Visual Studio、Windowsフォームアプリケーション利用 ■クリックしたいリンクについて ・<li class="menu_cate"><a href="new.html" title="NEWページ"></a></li> 「リンク詳細」 リンク先は画像となっており、画像名がありません。 li class、a href それぞれの値(menu_cate、new.html)は、共にページ内では1つだけです。 上記のリンクをクリックしたいので、「menu_cate」、「new.html」、「NEWページ」のいずれかを 検知してクリックをしたいと思い下記を記述してみたのですがうまくいきません。 是非どなたかご教授くださいますようお願い致します。 Dim Element As HtmlElement = Nothing For Each Element In WebBrowser1.Document.All.GetElementsByName("A") If Element.InnerText = "NEWページ" Then Element.InvokeMember("Click") 'クリックする Exit For End If Next ※Element.InnerTextの部分は色々変えてみたのですが、 リンクできませんでした。

  • VB2005のWebBrowserで”クリック”する

    VB2005のWebBrowserを使い、楽天ブログをランダムボタンを自動で押して、ペラペラめくっていきたいと思い、下記プログラムを組みました。 しかし、実際実行すると、プログラムが強制終了。「問題が発生したため、○○.exe(プログラム名) を終了します。 ご不便をおかけして申し訳ありません。」 となってしまいます。 原因、解決策、もしくは代案を教えていただきたいです。 よろしくお願いいたします。 プログラム '楽天ブログの自分のページにアクセス WebBrowser1.Navigate("http://plaza.rakuten.co.jp/○○○○○") 'ランダムボタン(右上のボタン)をクリック WebBrowser1.Document.GetElementsByTagName("a").Item("ランダム").InvokeMember("click")

  • vb2005 webbrowserでリンクをクリックした後の表示待ちの方法

    VB2005を勉強中の者です。 WebBrowser1.Navigateを使ってwebページを開いた際は下記while文での表示待ちが機能するのですが、ページ表示後、さらにInvokeMemberを使って先のページにクリックで進んだ後では同一の表示待ち部分がうまく機能せずにそのまま次の処理へと進んでしまいいます。 どこに問題があるのか分からず困っております。どなたか助けていただけませんでしょうか? WebBrowser1.Navigate("https://yahoo.co.jp") '↓ここは機能します While WebBrowser1.IsBusy Or WebBrowser1.ReadyState <> WebBrowserReadyState.Complete Application.DoEvents() End While WebBrowser1.Document.GetElementsByTagName("a").Item(15).InvokeMember("click") '↓これが機能しなくて困っています! While WebBrowser1.IsBusy Or WebBrowser1.ReadyState <> WebBrowserReadyState.Complete Application.DoEvents() End While '↓目的 TextBox1.Text = WebBrowser1.Document.Body.InnerText

  • JavaScriptによる疑似プルダウンメニュー

    他の方が作成したサイトの管理を引き継ぎ更新していますが、サイドメニューに使用されているJavaScriptがわかりません。 現在のサイドメニューは、以下のようになっています。 ●米 ●果物  ○いちご ←初期状態は”display: none”、「果物」クリックで展開 ●野菜  ○トマト ←初期状態は”display: none”、「野菜」クリックで展開 ●味噌 この小要素を、以下のように増やしたいのです。 ●果物  ○いちご  ○りんご  以下、数は可変 現在の該当部分のソースは、 【HTML】 <ul id="menu"> <li><a href="kome.html">米</a></li> <li><a href="#" onclick="kudamonoshow();">果物</a></li>  <li id="line1" style="display: none;"><a href="kudamono01.html"> いちご</a></li> <li><a href="#" onclick="yasaishow();">野菜</a></li>  <li id="line2" style="display: none;"><a href="yasai01.html"> トマト</a></li> <li><a href="miso.html">味噌</a></li> </ul> 【JS】 function kudamonoshow() { if (document.getElementById('line1').style.display == 'none') document.getElementById('line1').style.display='block'; else document.getElementById('line1').style.display='none'; } function yasaishow() { if (document.getElementById('line2').style.display == 'none') document.getElementById('line2').style.display='block'; else document.getElementById('line2').style.display='none'; } このソースで何が起きているかは理解しましたが、項目の増やし方が分かりません。 IDはページに一つということなので、試しにHTMLを <li><a href="#" onclick="kudamonoshow();">果物</a></li> <div id="line1" style="display: none;">  <li><a href="kudamono01.html"> いちご</a></li>  <li><a href="kudamono02.html"> りんご</a></li> </div> と、隠したい部分に強引にdivを使いIDを指定したところ、FireFox(Win&Mac)およびSafari(Mac)では正常に動作しますがIE7では動作せず、常に全てのリストが表示されている状態になり、レイアウトも崩れてしまいます。 (IE6は現在手元にありません) IEでも動作させるにはどうしたらいいのでしょうか? リストタグを使わない疑似プルダウンのソースは見つけましたが、このサイトでは他にもプログラムが色々動いているので、できれば変更は最小限にしたいと考えています。 足りない情報がありましたら追加します。よろしくお願いします。

このQ&Aのポイント
  • UCAM-C980FBBK WEBカメラをNECのLAVIE A23に接続していますが、ZoomなどのWeb会議システムでカメラが認識されず、毎回再接続する必要があります。
  • NECの備え付けカメラを無効にしても同様の問題が発生しています。
  • 「エレコム WebCamアシスタント」をインストールしても問題は解消されていません。どなたか解決方法を教えてください。
回答を見る