在 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 中的站点 [重复]
Python爬虫 Selenium -- Selenium元素定位Selenium访问元素信息Selenium交互
在 Linux 上使用无头 Chrome 访问被拒绝页面,而有头 Chrome 通过 Python 使用 Selenium 在 Windows 上工作