下午好: 我目前正在尝试使用 python selenium 访问某些 Instagram 帖子的描述(标题)部分。例如,在下图中,它指的是以“谢谢”一词开头并一直延伸到主题标签的部分。
嗯,它引起了我的注意以下事情:
考虑这篇文章(https://www.instagram.com/p/CNYQkxADO8p/)。当检查器被选中时,我们可以看到注释位于一个名为“Edited”的类中,因此我们可以使用以下代码检索所有文本:
desc = driver.find_element_by_xpath("//span[@title='Edited']").text
上面的代码非常适合上述帖子。然而,请考虑第二篇文章:(https://www.instagram.com/p/CN5dOopjNEk/)。该描述似乎位于不同的 HTML 类中,并且上面的代码行抛出 NoSuchElementException。因此,我想知道如何访问该帖子的标题,因为它不在标题为“已编辑”的部分中。我如何访问帖子的所述部分?
感谢您的关注
对于该特定帖子,您可以尝试使用:
desc = driver.find_element_by_xpath("//div[@class='C4VMK']/h2/following-sibling::span")
print(desc.text)
由于没有直接的方法来访问该元素,我们从
class
向下钻取到 h2
,然后获取 span
的下一个同级元素,这是文本所在的位置。
我不确定为什么它会与其他有
//span[@title='Edited']
的帖子不同,但似乎是这样。