vbaを使用してhtmlでliを繰り返します

OSKM

私は検索を通してこれに対する答えをどこにも見つけることができないようです...

vbaを使用してWebページのリストを反復処理し、Excelでデータを使用しようとしています。

Webページへのアクセスは問題ありません。正しいdivを見つけることは問題ありませんが、リストを反復処理する方法が見つかりません。

私が試しているのは:

Sub getdata()

Dim ie As InternetExplorer 
Dim html As HTMLDocument 
Set ie = New InternetExplorer 
ie.Visible = False 
ie.navigate "http://www.springfieldeducationalfurniture.co.uk/products/60-Chair-Trolley/11116/"

Do While ie.READYSTATE <> READYSTATE_COMPLETE
    Application.StatusBar = "Attempting connection ..."
DoEvents Loop

Set html = ie.document 
Set ie = Nothing 
Application.StatusBar = ""

Dim content Set content = html.getElementsByClassName("tabs__content")

For Each bullet In content
    'tried this
    IHtml = bullet.innerHTML'this gives the whole div not sure how to convert to a string
    'and this but get "Run-time error '438': Object doesn't support this property or method"
    IHtml = bullet.getElementsByTagName("li")

Next

End Sub

彼らは次のようである私は後に、私はを反復処理したいアムHTML<ul><div class="tabs__content">とIEコンテンツを割り当てること(私は、リストからデータを読み取ると、残りは簡単です)Excelのセルに「組み立て簡単な自己が必要」:

    <div class="tabs">
        <div class="container">
            <ul class="tabs__nav">
                <li class="is-active background-grey-lighter">
                    <a href="#">Description</a>
                </li>
                                                <li class="background-grey-light">
                    <a href="#">Delivery</a>
                </li>



            </ul>
        </div>

        <div class="tabs__tab tabs__tab--product-info is-active">

            <div class="tabs__title">
                <a href="#">Information</a>
            </div>

            <div class="tabs__content">
                <div class="container">
                    <p>
    60 Chair Trolley</p>
<ul>
    <li>
        Requires simple self assembly</li>
    <li>
        Non marking wheels&nbsp;</li>
    <li>
        Heavy duty lockable castors</li>
    <li>
        Black frame</li>
    <li>
        Vertical / hanging chair storage</li>
    <li>
        Does not fit through a single doorway</li>
    <li>
        Fits through double doors when fully loaded</li>
    <li>
        Dimensions: W780 x L1770 x H1340mm</li>
</ul>
<p>
    Code: Y16527<br />
    &nbsp;</p>
                </div>
            </div>

        </div>



        <div class="tabs__tab tabs__tab--product-info ">

            <div class="tabs__title">
                <a href="#">Delivery</a>
            </div>

            <div class="tabs__content">
                <div class="container">

                    <p>
    Please <a href="/contact"><span style="color: rgb(0, 0, 255);">contact us</span></a> for delivery information.</p>

                </div>
            </div>

        </div>


    </div>
QHarr

そして、これはあなたが言及したクラスを対象としています。HTMLオブジェクトライブラリとMicrosoftXML(ご使用のバージョン)への参照が必要です

Option Explicit

Sub Getinfo2()

    Dim http As New XMLHTTP60
    Dim html As New HTMLDocument

    With http
        .Open "GET", "http://www.springfieldeducationalfurniture.co.uk/products/60-Chair-Trolley/11116/", False
        .send
        html.body.innerHTML = .responseText
    End With

    Dim posts As MSHTML.IHTMLElementCollection
    Dim post As MSHTML.IHTMLElement

    Set posts = html.getElementsByClassName("tabs__content")(0).getElementsByTagName("li")

    For Each post In posts
        Debug.Print post.innerHTML
    Next post

End Sub

出力:

出力

これにより、すべてのli要素のhtmlが取得されます

Option Explicit

Sub Getinfo2()

    Dim http As New XMLHTTP60
    Dim html As New HTMLDocument

    With http
        .Open "GET", "http://www.springfieldeducationalfurniture.co.uk/products/60-Chair-Trolley/11116/", False
        .send
        html.body.innerHTML = .responseText
    End With

    Dim posts As MSHTML.IHTMLElementCollection
    Dim post As MSHTML.IHTMLElement

    Set posts = html.getElementsByTagName("li")

    For Each post In posts
        Debug.Print post.innerHTML
    Next post

End Sub

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JavaScriptでArray.forEachを使用して繰り返します

分類Dev

INPUTを繰り返すのではなく、html()を使用して動的フォームを保存できますか?

分類Dev

配列を繰り返し、numpyを使用して特定の位置で停止します

分類Dev

JSで高階関数を使用して繰り返しを回避しますか?

分類Dev

日付の行でSEQUENCE関数を使用して値を繰り返します

分類Dev

JavaScriptでforを使用して関数を5回繰り返します

分類Dev

javascriptを使用してhtml要素をn回繰り返す方法

分類Dev

Scrapyを使用してフォームを繰り返します

分類Dev

Scala Separatorを使用して、値を繰り返します

分類Dev

html関数を使用して繰り返しコードを短縮し、jqueryでタグを返す方法

分類Dev

AlarmManagerはsetExactAndAllowWhileIdleを使用して、繰り返します

分類Dev

XSLTでforeachを繰り返します

分類Dev

AndroidでRingtoneManagerを使用して着信音を繰り返す

分類Dev

index.htmlでルートタグを繰り返します

分類Dev

Glideを使用して、ArrayListsはViewPagerで繰り返されますか?

分類Dev

foreachを使用してマップに繰り返し文字列キーを追加します。ここで、valueは繰り返しの数です。

分類Dev

GroovyとXmlSlurperを使用してXMLを解析し、タグを繰り返します

分類Dev

printfを使用して文字を繰り返し、最後に改行を追加します

分類Dev

grepを使用して繰り返し文字を含む文字列を省略します

分類Dev

Coldfusionを使用してCharts.jsで使用するクエリを繰り返し処理します

分類Dev

ul liタグは、phpを使用してビューページソースで繰り返されています

分類Dev

Random.rangeを使用して、繰り返しなしでレベル番号を生成します

分類Dev

再帰を使用して、繰り返しなしでn長の組み合わせを出力します

分類Dev

-plyファミリを使用してルーチンを繰り返し、Rで行列を取得します

分類Dev

番号または繰り返しで「Grep」関数を使用する

分類Dev

VBAは変数を繰り返し設定します

分類Dev

dplyrとpurrrを使用して変数を繰り返し変更します

分類Dev

javascriptを使用して2次元配列の繰り返しを圧縮します

分類Dev

javascriptを使用してクラスを繰り返し追加します

Related 関連記事

  1. 1

    JavaScriptでArray.forEachを使用して繰り返します

  2. 2

    INPUTを繰り返すのではなく、html()を使用して動的フォームを保存できますか?

  3. 3

    配列を繰り返し、numpyを使用して特定の位置で停止します

  4. 4

    JSで高階関数を使用して繰り返しを回避しますか?

  5. 5

    日付の行でSEQUENCE関数を使用して値を繰り返します

  6. 6

    JavaScriptでforを使用して関数を5回繰り返します

  7. 7

    javascriptを使用してhtml要素をn回繰り返す方法

  8. 8

    Scrapyを使用してフォームを繰り返します

  9. 9

    Scala Separatorを使用して、値を繰り返します

  10. 10

    html関数を使用して繰り返しコードを短縮し、jqueryでタグを返す方法

  11. 11

    AlarmManagerはsetExactAndAllowWhileIdleを使用して、繰り返します

  12. 12

    XSLTでforeachを繰り返します

  13. 13

    AndroidでRingtoneManagerを使用して着信音を繰り返す

  14. 14

    index.htmlでルートタグを繰り返します

  15. 15

    Glideを使用して、ArrayListsはViewPagerで繰り返されますか?

  16. 16

    foreachを使用してマップに繰り返し文字列キーを追加します。ここで、valueは繰り返しの数です。

  17. 17

    GroovyとXmlSlurperを使用してXMLを解析し、タグを繰り返します

  18. 18

    printfを使用して文字を繰り返し、最後に改行を追加します

  19. 19

    grepを使用して繰り返し文字を含む文字列を省略します

  20. 20

    Coldfusionを使用してCharts.jsで使用するクエリを繰り返し処理します

  21. 21

    ul liタグは、phpを使用してビューページソースで繰り返されています

  22. 22

    Random.rangeを使用して、繰り返しなしでレベル番号を生成します

  23. 23

    再帰を使用して、繰り返しなしでn長の組み合わせを出力します

  24. 24

    -plyファミリを使用してルーチンを繰り返し、Rで行列を取得します

  25. 25

    番号または繰り返しで「Grep」関数を使用する

  26. 26

    VBAは変数を繰り返し設定します

  27. 27

    dplyrとpurrrを使用して変数を繰り返し変更します

  28. 28

    javascriptを使用して2次元配列の繰り返しを圧縮します

  29. 29

    javascriptを使用してクラスを繰り返し追加します

ホットタグ

アーカイブ