excel - 如何从 btnclass 网络抓取中提取属性详细信息
问题描述
我目前正在尝试从网页上的 BTnClass 元素中提取特定信息。
具体的按钮和前面的元素细节是:
<div class="m-t-sm">
<button class="btnLink " id="viewClientRecord_1-00001"
type="button" data-url="/?mtoken=itg999="><span class="text">View referral summary and client record
<span class="offscreen"> for CLIENT NAME</span></span></button>
我正在尝试检索数据
data-url
为了进一步增加复杂性,有 200,000 条客户记录,并且 Btn 类的 ID 对每个客户都是唯一的,所以我不能依赖 ID 来工作(据说我也尝试使用 ID 并且失败了。
我尝试了以下选项:
独特的元素
Sheets("Results").Range("A" & ClientRowNumber).Value = html.getElementById("viewClientRecord_1-00001")(0).Children(0).getAttribute("data-url")(0).innerHTML
顶级 div 类
Sheets("Results").Range("A" & ClientRowNumber).Value = html.getElementsByclassname("Cardf-row")(0).Children(0).getAttribute("data-url")(0).innerHTML
上一课
Sheets("Results").Range("A" & ClientRowNumber).Value = html.getElementsByclassname("m-t-sm")(0).Children(0).getAttribute("data-url")(0).innerHTML
Sheets("Results").Range("A" & ClientRowNumber).Value = html.getElementsByclassname("m-t-sm")(0).getAttribute("data-url")(0).innerHTML
Sheets("Results").Range("A" & ClientRowNumber).Value = html.getElementsByclassname("m-t-sm")(0).getAttribute("data-url").innerHTML
Sheets("Results").Range("A" & ClientRowNumber).Value = html.getElementsByclassname("btnlink ")(0).getAttribute("data-url").innerHTML
无论我尝试什么,我都无法获取 getAttribute("data-url") 任何东西:(
编辑。更新为 GetElementsByClassName
解决方案
虽然我没有检查您的线路html.getElementById("viewClientRecord_1-00001")(0).Children(0)
,但我认为它是正确的,但索引号是非法的.getElementByID()
。
该.getAttribute()
函数不返回集合。如果是这样,它可能会遵循 . 的其余HTMLDocument
命名约定,并且会附加s
一个.getAttributes()
. 这意味着您不能像使用.getAttribute("data-url")(0)
.
此外,getAttribute()
返回一个字符串。字符串不包含.innerText
属性。您需要删除.innerText
并从函数返回结果getAttribute
。这将为您带来以下最终结果:
Sheets("Results").Range("A" & ClientRowNumber).Value = _
html.getElementById("viewClientRecord_1-00001").Children(0).getAttribute("data-url")
推荐阅读
- algorithm - 是否可以在不反转数组的情况下递归地找到最大堆中的最小值
- python - 如何查找 Google 服务帐户拥有的文件列表?(已超出用户的云端硬盘存储配额)
- android - 乐天动画不能在不同的设备上播放
- flutter - 如何在注册完成时检查用户是否存在于firebase cloudstore中?
- javascript - Angular - 检查后表达式已更改
- python - Python Discord Bot - 命令并发
- android - 关闭应用程序时保持天文台计时器运行
- python - 'scrapy crawl' 做事但不做文件
- javascript - npm package csvtojson CSV Parse Error: Error: unclosed_quote
- javascript - 在长度受限的输入上运行 JavaScript 代码