2017-10-30 15 views
0

クラス名のsrc値を反復処理する方法を理解するのに苦労しています。これらはギャラリー画像であり、ページ上の各商品には0〜10の追加画像があります。私はコンテンツを傷つけていますので、これらの製品を正規代理店として当サイトに追加することができます。ベンダーは、簡単にインポートできる形式でデータを提供していません。vba getelementsbyclassname()内のsrc要素を反復する

Set objDescShort = doc.getelementsbyclassname("single__short-description")(0) 
    Set objDescLong = doc.getelementsbyclassname("ui-tabs-panel ui-corner-bottom ui-widget-content")(0) 
    Set objImgUrl = doc.getelementsbyclassname("single__gallery-main-img")(0) 'main image 
    Set objImgUrl2 = doc.getelementsbyclassname("single__gallery-thumbs-img")(0) 'gallery images 
    ret1 = objDescShort.innerHTML 
    ret2 = objDescLong.innerHTML 
    mysheet.Cells(n, 7).Value = ret1 
    mysheet.Cells(n, 8).Value = ret2 
    ret3 = objImgUrl.src 
    mysheet.Cells(n, 9).Value = ret3 
    galimg = "" 
    ret4 = doc.getelementsbyclassname("single__gallery-thumbs-img") 
    For Each srcElm In ret4 
     galimg = srcElm.src & ", " & galimg 
    Next 
    mysheet.Cells(n, 10).Value = galimg 

これは私のコードのほんの一部です。このデータを抽出しているURLはhttp://www.tigertoughgroup.com/products/T62130/です。

このクラスの各「img」タグから「src」値を取得するのは正しい構文を理解するのに苦労しています。

答えて

1

まず、のgetElementsByClassNameは、要素のコレクションを返すために、あなたはあなたの変数にそれらのオブジェクトを割り当てるには、キーワードSetを使用する必要があります...

Set ret4 = doc.getelementsbyclassname("single__gallery-thumbs-img") 

次にあなたがsrc値を取得するためにgetAttribteを使用することができます...

srcElm.getAttribute("src") 

関連する問題