- ベストアンサー
C# ブラウザの自動クリック
C#のwebBrowserで開いたページを自動でクリックしたいんですが、htmlが <a href="○○○" title="A"> この様になっている場合、どの様にすれば良いかご教授下さい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ANo.1さんのお礼で書かれている > HtmlElementCollection buttons = webBrowser1.Document.GetElementsByTagName("input"); ですが、この場合はAタグですから HtmlElementCollection buttons = webBrowser1.Document.GetElementsByTagName("a"); だと思います。 示された内容にinputタグはありませんね。
その他の回答 (2)
- samtomsan
- ベストアンサー率55% (1060/1897)
ANo.1さんが回答されているように、前の質問で解決していないのでしょうか。 同じIDが複数個あって、そのうちの一つ例えばtitleが"A"の物をクリックしたいのでしょうか。 条件を示せば適切な回答が得られると思います。 HtmlElementCollection HtmlElement 辺りを調べれば処理方法が判ると思います。
お礼
回答ありがとうございます。 仰る通り、提示した内容が余りにも少なく、更に以前の内容に酷似していた為、答え様が無いと思います。 私自身で数日調べても分からなかった内容をここで質問させて頂いておりますが、その際どこまで自力で調べたか明示し、回答者様が答えやすい様努力致します。 また、現在分からない部分がまだ山ほど残っております。 少しずつ進んでおりますが、つまづいたらまた教えて頂きたいので、今後も宜しくお願い致します。
- wormhole
- ベストアンサー率28% (1626/5665)
なんとかして、目的のaタグのHtmlElementインスタンスを取得してInvokeMember("click")でいいんじゃないの? 内容的に以前の質問とほとんど変わらない内容だと思うんだけど・・・ http://okwave.jp/qa/q7519384.html
お礼
回答ありがとうございます。 その「なんとかして」が微妙に分からなくて… 以前の質問と殆ど同じですが、色々調べるのとここで教えて頂いた知識では届かない状態です。 idとnameが分からない場合の取得方法にvalue値を取得する方法が載っている記事があり、参考にしながら やってみましたがやはり動きませんでした。 HtmlElementCollection buttons = webBrowser1.Document.GetElementsByTagName("input"); foreach (HtmlElement element in buttons) { if (element.GetAttribute("title") == "A") { element.InvokeMember("click"); } } valueではなくtitleなので当然と言われれば当然なのですが… どこが間違えているかご教授いただければ助かります。
お礼
おはようございます。 早速の回答ありがとうございます。 "a"を入れたら動きました!! ありがとうございます! 最初、確かにinputタグがありませんので、 .GetElementsByTagName("title"); で進めようと思いましたが動かず… で、サンプルコードに似せてinputを入れましたがやはり動かず… 途方に暮れておりましたが、勉強になりました! 多分これはかなり初歩レベルなんだろうなと思いますが、解決まで付き合って頂き、感謝です! 出来れば今後も宜しくお願い致します。