从HTML下拉列表中提取数据
我正在寻找一种从网站下拉框中提取可用选项数据的方法,特别是第二个选项组“所有基金公司” 提取我正在抓取的HTML代码从HTML下拉列表中提取数据,html,vba,Html,Vba,我正在寻找一种从网站下拉框中提取可用选项数据的方法,特别是第二个选项组“所有基金公司” 提取我正在抓取的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"> <
</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>
谢谢你,吉普
这是解决问题的代码。。。不确定这是否是最有效的方法,但它确实有效:)
optgroup不是类名;它是一个元素,或者更准确地说是具有搜索公司id的select元素的子元素。
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
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