- ベストアンサー
リンク名が複数同じ名前あるとき、リンク名をクリックさせる方法
- リンク名が複数同じ名前の場合、クリックさせる方法を教えてください。
- VB2005の環境で、リンク名が複数同じ名前の場合にうまくクリックできない問題が発生しています。解決方法を教えてください。
- OSがXPの環境で、WebBrowser1.Document.Linksを使用してリンク名をクリックさせたいのですが、同じ名前のリンクが複数ある場合にうまく動作しません。対処方法を教えてください。
- みんなの回答 (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
その他の回答 (2)
- vbhanatyan
- ベストアンサー率79% (70/88)
失礼しました、先の回答は無視して下さい。 VB2005 なら WebBrowser1.Document.All.GetElementsByName("あああ").Item(1).InvokeMember("Click") ですね。
補足
ご回答ありがとうございます。 {"'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> もし、おわかりでしたら教えていただけませんか?。
- vbhanatyan
- ベストアンサー率79% (70/88)
WebBrowser1.Document.All.GetElementsByName("あああ").Item(1).Click 又は WebBrowser1.Document.GetElementsByName("あああ").Item(1).Click でできたかと。
お礼
お陰様で実行することができました。 ありがとうございました。