• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:リンク名が複数同じ名前あるとき)

リンク名が複数同じ名前あるとき、リンク名をクリックさせる方法

このQ&Aのポイント
  • リンク名が複数同じ名前の場合、クリックさせる方法を教えてください。
  • VB2005の環境で、リンク名が複数同じ名前の場合にうまくクリックできない問題が発生しています。解決方法を教えてください。
  • OSがXPの環境で、WebBrowser1.Document.Linksを使用してリンク名をクリックさせたいのですが、同じ名前のリンクが複数ある場合にうまく動作しません。対処方法を教えてください。

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

  • ベストアンサー
回答No.3

失礼しました、同じ名前が2個あるとの事だったのでGetElementsByName を使ったのですが それなら、下記のようにして取得するしかないですね(実際のサイトのソースが解れば違う答えも!)   Dim elem As HtmlElement = Nothing, n As Integer = 0   For Each elem In WebBrowser1.Document.GetElementsByTagName("A")     If elem.InnerText = "あああ" Then       n += 1       If n = 2 Then         elem.InvokeMember("Click") 'クリックする         Exit For       End If     End If   Next

heibondesu
質問者

お礼

お陰様で実行することができました。 ありがとうございました。

その他の回答 (2)

回答No.2

失礼しました、先の回答は無視して下さい。 VB2005 なら  WebBrowser1.Document.All.GetElementsByName("あああ").Item(1).InvokeMember("Click") ですね。

heibondesu
質問者

補足

ご回答ありがとうございます。 {"'1' の値は 'index' に対して有効ではありません。'index' は 0 と -1 の間でなければなりません。 パラメータ名: index"} となりうまくいきませんでした。 クリックさせたいソースは以下の通りです。 <tr valign="top"> <td width="9"><img src="https://image.xxxxx.xxxxxx.co.jp/acom/pc/img/com/w05s04_red.gif" alt="" height="9" width="9"></td> <td><font size="-1"><a href="DI01P004_005?genreId=1040006250&d_id=c326caa9069334a8d1f66e7cc5344789#03">あああ</a></font></td> </tr> もし、おわかりでしたら教えていただけませんか?。

回答No.1

WebBrowser1.Document.All.GetElementsByName("あああ").Item(1).Click 又は WebBrowser1.Document.GetElementsByName("あああ").Item(1).Click でできたかと。