質問: C#でプログラミングをしています。 webbrowserであるページを取得し、そのページ中のリンクをクリックしたいのですが、その方法がわからず悩んでいます。 ネットで知らべた結果、 webbrowserに表示させたページのリンクをクリックしたい。 http://oshiete.goo.ne.jp/qa/2492798.html このページによって、クリックする方法はわかりました。 ただ、自分がクリックしたいのは、上から何番目はわからず、わかっているのは、class名がcsvという名前のdivに囲まれた中のaタグのリンクです。 ``` ``` html内に、csvというクラスは一つしかありません。 HTML内のこのような要素の中のaタグをクリックするには、どうしたらいいものなのでしょうか?
回答: その紹介してある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; } }