Dim ie As Object Dim tag As Object Set ie = CreateObject("InternetExplorer.Application") ie.Visible = True ie.navigate "http://目的のURL" Do While ie.Busy Or (ie.ReadyState <> 4): DoEvents: Loop For Each tag In ie.document.getElementsByTagName("a") If tag.InnerText = "ログイン" Then tag.Click Exit For End If Next
受講生さんの投稿
(投稿ID: 3909)
という操作をしたいのですが、
ログインボタンにはIDがついておらず、
getElementByIdでの操作ができそうにありません。
また、elementsでもないようで、エラーになってしまいました。
ソースは次のようなものでした。
<dd class="nav-login-btn"><a href="javascript:void(0);" onclick="javascript:func_request_Link('LOGIN'); return false;">ログイン</a></dd>
ネットで調べたところ、以下のようなコードが見つかり、
これでやったら無事にログインボタンが押されました。
この場合は、このような方法しかないでしょうか。
Dim ie As Object
Dim tag As Object
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate "http://目的のURL"
Do While ie.Busy Or (ie.ReadyState <> 4): DoEvents: Loop
For Each tag In ie.document.getElementsByTagName("a")
If tag.InnerText = "ログイン" Then
tag.Click
Exit For
End If
Next
小川慶一さんのコメント
(コメントID: 5464)
他の方法もありそうです。
例えば、getElementsByClassNameも使うとか。
とはいえ、どういう方法がベストか?ということになると、ソースのこの部分だけからでは何とも言えません。