【发布时间】:2014-12-22 06:55:09
【问题描述】:
我开始尝试学习抓取。我得到了这个登录后的页面,我记得读过你不应该在通过标记名获取元素之后尝试做 (1)、(2) 或 (3) 的事情。但是你应该得到一些更独特的东西,比如类名或 ID。但是谁能告诉我为什么
GetTag 工作和
Dim Companyname As String
Companyname = ie.document.getElementsByTagName("span")(1).innertext
此 GetClass 不起作用
Dim Companyname As String
Companyname = ie.document.getElementsByClassName("account-website-name").innertext
这是我正在抓取的文本
<span class="account-website-name" data-journey-name="true">Dwellington Journey</span>
【问题讨论】:
-
每当您使用可能获得比单个元素更多的东西时,您都需要提供序数索引。您在第一个示例中使用 (1) 执行此操作,该 (1) 引用第二个
<span>元素(序数从零开始)。在第二个示例中,您省略了序数,因此.getElementsByClassName不知道返回哪个,即使只有一个匹配。 -
你是个老板!谢谢!
-
@Jeeped 这听起来更像是一个答案而不是评论,如何充实它,将其作为一个发布并获得您似乎应得的代表?
-
谢谢@Aiken - 我刚刚去meta阅读this并尝试决定行动方案。似乎以答案社区 Wiki 的身份重新提交是首选处理方式。
-
@Jeeped 我不明白为什么它必须是一个社区维基,你发布的评论结果是一个答案,为什么会失去你的代表?作为社区 wiki 发布是指其他人在 cmets 中回答但尚未发布实际答案。
标签: html excel vba web-scraping