我正试图从instagram中获取喜欢/浏览的内容。但是,下面是一个错误:
索引器:列表索引超出范围:---when i try viewcth[0].get_attribute('innerHTML')
AttributeError:'list'对象没有属性'get_attribute':---当我尝试viewct = viewcth.get_attribute('innerHTML')
代码:
viewcth = bdy.find_elements_by_xpath(".//*[@class='eo2As ']//*[@class='EDfFK ygqzn']//*[@class='Nm9Fw']")
if (len(viewcth) != 0):
viewct = viewcth[0].get_attribute('innerText')
else:
viewcth = bdy.find_elements_by_xpath(".//*[@class='eo2As ']//*[@class='HbPOm _9Ytll']//*[@class='vcOH2']")
# viewct = viewcth.get_attribute('innerHTML')
viewct = viewcth[0].get_attribute('innerHTML')
pagedict['viewcount'] = viewct
print("Viewct is " + viewct)
您使用了错误的定位器。
这就是为什么
viewcth
是空列表。find_elements_by_xpath(".//*[@class='eo2As ']//*[@class='EDfFK ygqzn']//*[@class='Nm9Fw']")
找不到匹配的元素并返回空列表。因此,当您试图通过
viewcth[0]
从该列表中获取第一个元素时,您将获得如果您试图执行
viewct = viewcth.get_attribute('innerHTML')
,这会给您因为
viewcth
是一个列表。空,但仍然是一个列表。因此,不能对列表应用
.get_attribute('innerHTML')
方法,它不是web元素。如果您想获得更多的类似信息,请尝试以下方法:
用于图像
有关视频:
或
请参见
viewcth
是Python中的列表你已经说过:
所以当您不能在列表中使用
get_attribute()
时。但是在您的代码中,我看到,您没有使用viewcth.get_attribute('innerHTML')
,而是使用了它我想这是对的
我用了一个计数器来计算评论总数
示例代码:
更新1:
您可以尝试以下xpath:
要仅获取数字,请执行以下操作:
代码:
导入:
相关问题 更多 >
编程相关推荐