使用VBA访问搜索栏

时间:2019-05-12 02:10:10

标签: html vba web-scraping

我在使用下拉菜单访问搜索栏时遇到问题。看来我需要获取的元素名为“数据值”,这样我可以在搜索栏中输入样本ID,但无法访问它。

在使用.getElementbyID.getElementbyClassName并使用.Value="123"输入样本ID之前,我已经能够访问其他网站中的搜索栏,但无法使其正常工作与这个网站。不幸的是,这是一个公司网站,不能公开访问。

这是我在搜索栏上单击检查元素时看到的代码。

<div class="select-input items"> 'event symobol here
    <div class="item" data-value="123456_S11">123456_S11</div>
    <input type="text" autocomplete="off" tabindex="" style="width: 4px;opacity: 0; position: absolute; left: -10000px;"> 'event symbol here
    ::after
</div>```

I also tried this that I saw from a different post but it doesn't work.
```For Each pElement In pHTML.getElementsByClassName("item").getElementsByTagName("div").getElementsByAttribute("data-level")```

1 个答案:

答案 0 :(得分:1)

您可以使用css属性选择器,但需要确保定位的是正确的元素

ie.document.querySelector(".item[data-value]").getAttribute("data-value")

这假定具有类项目且属性data-value的元素的第一个匹配项是正确的。否则,您需要采取其他策略,例如收集所有匹配项的nodeList并在其中建立索引。例如

ie.document.querySelectorAll(".item[data-value]").item(1).getAttribute("data-value")

或添加父类

ie.document.querySelector(".select-input [data-value]").getAttribute("data-value")