【发布时间】:2017-01-16 15:21:25
【问题描述】:
所以,我对 VBA/HTML 还很陌生,我正在为工作创建一个 VBA 网络爬虫。一切都很顺利,直到我在页面上遇到一个按钮,一旦单击该按钮,就会将类名从“dashboard-wrapper transition closed”更改为“dashboard-wrapper transition open”。该按钮没有 ID 或任何其他标识符。
手动单击后,会出现一个下拉菜单,其中包含可供单击的其他按钮。
该网站是用 Javascript 编写的,但该元素没有“onclick”或“onsubmit”或任何类似性质的内容。
<div class="le bubble-component-container reporting-wrapper dark">...</div>
<div tabindex= "-1" class="reporting-region">
<div>
<div class="dashboard-wrapper transition closed">
我尝试了许多不同的方法来定位按钮,但都没有成功。如果我可以提供任何其他信息,请告诉我!提前谢谢你。
【问题讨论】:
-
您也可以按类名定位元素。或参考您确实知道的其他一些元素。 (在 javascript 中)
-
是的。我还应该提到我已经尝试过:
for each i in ie.document.getelementsbytagname("div") if i.getattribute("class") = "dashboard-wrapper transition closed" then i.click end if next i- 这对这个网页上的所有其他按钮都有效 - 但是这些类名没有改变(我什至不知道这是否是类名改变的问题)跨度> -
检查类名是否包含“dashboard-wrapper transition”(带有 indexOf 或类似的)而不是匹配“dashboard-wrapper transition closed”和“dashboard-wrapper transition open”。如果可以在 VBA 中使用 querySelector,则可以使用
div[class^="dashboard-wrapper transition"]之类的选择器 -
成功了!非常感谢你,雪莉!
标签: javascript html excel vba web-crawler