我正在尝试从亚马逊获取产品页面的类别。
例如,我尝试从以下page获取Schaumstoffmatratzen
。
我正在使用以下库:
我尝试了以下内容:
Dim categorieAmzn
Set Docx = Ie.document
categorieAmzn = Docx.getElementsByClassName("cat-name").innerText
然而,我什么都没得到。有什么建议我做错了吗?
感谢您的回复!
答案 0 :(得分:1)
假设有更多代码导航到网页,代码的唯一问题是您尝试从元素集合中获取innerText
,而不是单个元素。
getElementsbyClassName()
始终获取元素集合。为了从集合中获取单个元素,您需要指定一个索引号,但值得注意的是索引号从0开始而不是1.因此,例如,如果要获取的元素是具有类名的第一个元素您应该使用“猫名”:
categorieAmzn = Docx.getElementsByClassName("cat-name")(0).innerText
判断你是收集一个元素还是单个元素的最好方法是在函数中查找's',如果有's',你将获得一个集合,如果没有''你得到一个元素。
单个HTML元素功能:
getElementbyId
HTML元素集合函数:
getElementsbyClassName
getElementsbyTagName
getElementsbyName