2017-07-21 8 views
0

私は、ウェブサイトのドロップダウンボックス、特に2番目のオプトグループ「すべてのファンド企業」から利用可能なオプションからデータを抽出する方法を探しています。私はHTMLドロップダウンからデータを引き出す

</div><div class="large-5 medium-5 columns spacer-bottom padding-left-none"><div class="select_wrap"><select id="search-company" name="companyid" class="default"> 
<option value="">Search by company</option> 
<optgroup label="Popular companies"> 
    <option value="4">Hargreaves Lansdown</option> 
    <option value="1908">Lindsell Train</option> 
    <option value="55">Jupiter</option> 
    <option value="191">Legal & General</option> 
    </optgroup> 
<optgroup label="All fund companies"> 
    <option value="218">Aberdeen</option> 
    <option value="1080">Aberforth Unit Trust Managers</option> 
    <option value="141">Allianz Global Investors</option> 
    <option value="3472">Alquity Investment Management Limited</option> 
    <option value="1324">Amati Global Investors Ltd</option> 

VBAこするだHTMLコードの

エキス:

Set htmlObj = html.getElementById("search-company") 

For Each Child In htmlObj.getElementByClassName("optgroup")(1).Children 
    sqlId = Child.Value 
    sqlCompany = Child.innerText 
    Debug.Print (sqlId & " - " & sqlCompany) 
Next 
+0

optgroupはクラス名ではありません。それは、検索会社IDを有する選択要素の要素、またはより正確には、子要素である。 – Jeeped

答えて

0

おかげJeepedは...

これは、問題を解決するためにマネージコードであります...それが最も効率的な方法であるかどうかはわかりませんが、それは動作します:)

Set htmlObj = html.getElementById("search-company") 

    For Each Child In htmlObj.Children 
     If Child.Label = "All fund companies" Then Set htmlObj2 = Child 
    Next 

    For Each Child In htmlObj2.Children 
     sqlId = Child.Value 
     sqlCompany = Child.innerText 
     Debug.Print (sqlId & " - " & sqlCompany) 
    Next 
関連する問題