【发布时间】:2016-05-31 09:07:39
【问题描述】:
我正在使用 Excel 和 VBA 编写我的第一个数据抓取工具。我被困在试图转到网站的下一页。源代码如下:
<li><a href="#" onclick="changePage(2); return false;">Page 2 of 24</a></li>
这是我拥有但似乎不起作用的 VBA 代码:
For Each l In ie.Document.getElementsByTagName("a")
If l.href = "#" And l.onclick = "changePage(2); return false;" Then
l.Item(2).Click
Exit For
End If
Next l
当我运行代码时,我没有收到任何错误,但它似乎没有转到第 2 页。请记住,第 2 页之后还有更多页面。我的想法是用变量替换“2”稍后将该变量增加一。但我需要先让它工作。
感谢任何可以提供帮助的人。
【问题讨论】:
-
只是检查,但您是否尝试过 Navigate 或 Navigate2 而不是 Click 方法?我迫不及待想明天试试这个!
-
不,我不熟悉导航。你有一个例子吗?我以前用 VBA 编程过,但这是我第一次尝试通过 VBA 唤起 Web 点击/事件。
-
这里是关于 Navigate 方法的文档,稍后我会尝试找到一些示例代码:msdn.microsoft.com/en-us/library/aa752093.aspx
-
瑞克,谢谢。我将研究导航方法。假设我可以使用它,你认为给定 html 代码我的条件语句正确吗?如果你能提供一些很有帮助的例子。
-
它看起来可以工作。我需要更多的示例代码,但我会看看我是否可以把它放在一起。基于其他一些代码,请参阅使用 XMLHTTP 而不是浏览器控件的示例:github.com/rickhenderson/Web-Scraping-With-VBA/blob/master/… 以及其他 StackOverFlow 问题:stackoverflow.com/questions/26128056/…
标签: javascript html excel web-scraping vba