質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

11604閲覧

C# webbrowserで取得したHTML中のリンクをクリックする方法

GiveAHand

総合スコア286

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2016/05/02 11:13

C#でプログラミングをしています。

webbrowserであるページを取得し、そのページ中のリンクをクリックしたいのですが、その方法がわからず悩んでいます。

ネットで知らべた結果、

webbrowserに表示させたページのリンクをクリックしたい。
http://oshiete.goo.ne.jp/qa/2492798.html

このページによって、クリックする方法はわかりました。

ただ、自分がクリックしたいのは、上から何番目はわからず、わかっているのは、class名がcsvという名前のdivに囲まれた中のaタグのリンクです。

html

1<dd class="csv"> 2 <a href="/access-log/download/format/csv" title="CSVダウンロード"> 3 <img src="/img/btn_csv.gif" width="148" height="36" alt="CSVダウンロード" /> 4 </a> 5</dd>

html内に、csvというクラスは一つしかありません。

HTML内のこのような要素の中のaタグをクリックするには、どうしたらいいものなのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

その紹介してあるURLから引用すると

webBrowser1.Document.GetElementsByTagName("a")[4].InvokeMember("click");

と書いてあるので
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.htmldocument.getelementsbytagname%28v=vs.110%29.aspx

https://msdn.microsoft.com/ja-jp/library/system.windows.forms.htmlelement%28v=vs.110%29.aspx
ぐらいは調べるようにしないと身につきませんよ・・
と小言はそのぐらいで
試してはいませんがMSDNを見る限り下記のような感じでできないでしょうか?

for(HtmlElement element in webBrowser1.Document.GetElementsByTagName("a"))
{
if (element.GetAttribute("href").ToLower().EndsWith("/csv"))
{
element.InvokeMember("click")
break;
}
}

投稿2016/05/02 14:16

dekaaki

総合スコア292

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

GiveAHand

2016/05/03 03:07

dekaaki様 ご回答ありがとうございます。 小言だなんてとんでもないです。 大変ありがたいです。 なるほど。 このぐらいのページは見れるようにならないとですね。 ありがとうございます。 書いて頂いたコード、ありがたく試してみます。 結果はまたここでコメントさせて頂きます。
dekaaki

2016/05/03 03:46

すみません。For文が間違ってます・・・ 正しくはforeachです。お気をつけて
GiveAHand

2016/05/03 04:33

dekaaki 様 重ね重ね、ご親切にありがとうございます! はい、試しながら確認してみます!
GiveAHand

2016/05/04 13:14

dekaaki様 うまくいきました! ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問