私はvbaのIEで作業するのがとても新しいので、ウェブからデータをスクラップするコードを書くときに間違いを修正することは時折困難です。私は、各ビデオリンクをクリックするためのいくつかのコードを書いてきました.のキャプションの下にある20個のリンクのうちの1つがフロントページにあります。私は、各リンクをクリックしてから、すべてのリンクがクリックされるまで、そのプロセスを繰り返すことを期待しています。スクレイパーで定義したクラス名とタグ名は正確です。私がする必要があるのは、正しい方法でプロセスを実行することだけです。現時点では、私のスクレーパーは20のリンクの最後のリンクをクリックしています。リンクをクリックした後に戻るにはどうすればいいですか?
これまでに書いたのはこれです。
Sub clicking_links()
Const surl As String = "http://www.wiseowl.co.uk/videos/"
Dim IE As New InternetExplorer, iedoc As HTMLDocument
Dim posts As Object
With IE
.Visible = True
.navigate surl
Do Until .readyState = READYSTATE_COMPLETE: Loop
Set iedoc = IE.document
End With
For Each posts In iedoc.getElementsByClassName("woVideoListDefaultSeriesTitle")
posts.getElementsByTagName("a")(0).Click
Next posts
End Sub
あなただけの次posts' ''後IE.navigate surl'を使用することはできますか? –
@Victor K、ループが発生した後に 'IE.navigate surl'を使用するロジックが分かりません。ループすると' surl'ページに戻ることができません。 – SIM
さて、あなたはループの後に戻ってナビゲートしたいと言った。私は最初にナビゲートすると解釈した。ループの後にどこに行きたいのですか? –