在 Python Selenium 中访问 Instagram 帖子标题时遇到问题

Posted

技术标签:

【中文标题】在 Python Selenium 中访问 Instagram 帖子标题时遇到问题【英文标题】:Trouble accessing Instagram post caption in Python Selenium 【发布时间】:2021-04-22 21:31:52 【问题描述】:

下午好: 我目前正在尝试使用 python selenium 访问某些 instagram 帖子的描述(标题)部分。例如,在下图中,它指的是以“Thanks”开头的部分,一直到主题标签。

嗯,它引起了我的注意以下几点:

考虑这篇文章 (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。因此,我想知道如何访问该帖子的标题,因为它不在标题为“已编辑”的部分中。如何访问帖子的上述部分?

感谢您的关注

【问题讨论】:

【参考方案1】:

对于该特定帖子,您可以尝试使用:

desc = driver.find_element_by_xpath("//div[@class='C4VMK']/h2/following-sibling::span")

print(desc.text)

由于没有直接访问该元素的方法,我们从class 向下钻取到h2,然后获取span 的下一个元素兄弟,这是文本所在的位置。

我不知道为什么它与其他有//span[@title='Edited'] 的帖子不同,但似乎是。

【讨论】:

以上是关于在 Python Selenium 中访问 Instagram 帖子标题时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

Python编程学习之利用selenium分辨出可访问的网页并获取网页内容

访问被拒绝您无权访问 Selenium Python 中的站点 [重复]

无法使用 Selenium 和 Python 访问下拉菜单

Python爬虫 Selenium -- Selenium元素定位Selenium访问元素信息Selenium交互

python3+selenium访问网页时的驱动

在 Linux 上使用无头 Chrome 访问被拒绝页面,而有头 Chrome 通过 Python 使用 Selenium 在 Windows 上工作