尝试使用VBA填充Web表单,无法解决元素问题

时间:2017-11-11 02:52:05

标签: excel vba excel-vba internet-explorer

我正在尝试使用工作簿中的数据在IE中填写一个Web表单,但我在查找文本框时遇到了问题,因为它似乎缺少名称。

该网站是登录后面所以没有链接,抱歉。但该元素表现为

<input type="text" placeholder="  Søg på brugernavn, referencenummer, eller e-mail" ng-model="filterSearch.search" ng-change="filterOnSearch()" ng-model-options="{ debounce: 500 }" class="ng-pristine ng-valid ng-empty ng-touched">

用铬检查时。

我试过了

ie.document.getelementsbyclassname("ng-pristine ng-valid ng-empty ng-touched").Value = "11"

但是VBA向我抛出运行时错误'438':对象不支持此属性或方法。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

这可能听起来令人困惑但是无论何时你试图按类名拉取元素你都需要使用

.item(0)
之后你会使用与

类似的东西
ie.document.getelementsbyclassname("ng-pristine ng-valid ng-empty ng-touched").item(0).Value = "11"

这假设您正在尝试填写具有上述类的输入框,并且该元素是其类中的唯一1或第一个。

如果它不起作用,它可能不是该类中的第一个元素,那么您可能需要执行第(1)项或第(2)项等。