this linkのすべてのhref
リンクを削り取ろうとしています。VBA:HTML文書のネストされた要素の検索
私は、ページ上の製品のリンクを取得するには、次のコードを使用しています:私はdiv_reultでエラーを取得しています
Sub urlCatch()
Dim internet As Object
Dim internetdata As Object
Dim div_result As Object
Dim header_links As Object
Dim link, itm As Object
Dim url As String
Dim X As Variant
Set internet = CreateObject("InternetExplorer.Application")
internet.Visible = True
url = "http://www.dell.com/vg/p/desktops.aspx?c=vg&cs=vgdhs1&l=en&s=dhs&~ck=mn"
internet.Navigate url
Do Until internet.ReadyState >= 4
DoEvents
Loop
Set internetdata = internet.document
Set div_result = internetdata.getelementsbyclassname("categorySubNavigation").getelementsbyclassname("c4 seriesOptions")
Set header_links = div_result.getelementsbytagname("a")
For Each itm In header_links
Set link = itm.ChildNodes.Item(0)
Cells(Range("A" & Rows.Count).End(xlUp).Row + 1, 1) = link.href
Next
End Sub
:「オブジェクトはこのプロパティまたはメソッドをサポートしていません」。
私は何かを取得するために要素を使用しているのは初めてです。だから、私が現在気づいていない間違いをしているかもしれません。
私のコードを見て、私がここで何をしているのかを教えてください。
私はこれらのリンクをすべて取得するために正規表現を使用する必要があるかもしれないと私の友人の一人から聞いてきましたが、この方法を最初に保留したいと考えていました。
いくつかのガイダンスを教えてください。ありがとう。
追加するようにしてください "(10 +)時間(NOW())、分(NOW())、第二(NOW())Application.Wait TimeSerialない" をinternetdata =インターネット設定するだけ」の前に.document "をセットの10秒前に待ち、それが動作するかどうか確認してください。要素がWebページに存在する場合は、Webページが正しく読み込まれなかったために取得できない可能性があります。文書を取り残そうとしたときに文書にその要素がないためです。 –
@ Matteo NNZ待ち時間まだ同じエラーが出ています。私は知りませんが、私はdiv_resultにboobooを作っていると感じています...たぶん私はそれを正しくしていない...私はちょうどなぜ知りません。 –
'internetdata.getelementsbyclassname(" categorySubNavigation ")'はタグのコレクションです。インデックスを作成できるのは1つだけです(ループは必要ありません)。 'set div_result = internetdata.getElementsByClassName(" categorySubNavigation ")(0).getElementsByClassName(" c4 seriesOptions ")' ....これもコレクションを返すので、 'div_result(0)... div_result 1)... etc' – jsotola