IE操作 ソース内のjavascriptを表示後、
VBAでIE操作をしているのですが、
javascriptのURLを踏んだ後に、そのページをオブジェクトに格納して値の取得等をしたいのですが、
うまくいきません。
For Each myObj In objIE.document.all.tags("a")
If myObj.href Like "*affiliateUrl1*" Then
objIE.navigate myObj.href
' Call IE_wait
Exit For
End If
Next
上記のコードで、
javascript:show_rakuten_linkcd('linkUrl1','imageUrl_S1','imageUrl_M1','title1','price1','reviewCount1','affiliateUrl1');
を見つけて、objIE.navigate myObj.href
で、ページを表示することは出来たのですが、
Call IE_wait
で
Sub IE_wait()
Const READYSTATE_COMPLETE As Long = 4
Do Until objIE.readyState = READYSTATE_COMPLETE
Loop
Do While objIE.Busy = True
DoEvents
Loop
End Sub
をすると、無限ループに入ります。
javascriptでページを表示させても、
objIEに格納されているURLは、javascriptを踏む前の元のページだからと思います。
なので、表示されるまで待つのは手動でやるとしたのですが、
その後、
For Each myObj In objIE.document.all.tags("testarea")
If myObj.Name = "code" Then
’ソース取得
End If
Next
とやろうとしても、objIEに格納されているURLがjavascriptで表示させているページでない為、
取得できません。
objIE.navigate myObj.href
を実行した後に、javascriptのページ(小窓)を格納する方法があれば教えてください。
よろしくお願いします。