首页 > 解决方案 > Selenium Webdriver 如何从鼠标悬停元素中获取文本?

问题描述

我正在尝试使用 selenium 抓取我的不和谐服务器以搜索消息并获取消息的详细信息,特别是发送消息的日期和时间。

我已经能够从消息元素的文本内容中获取时间,但是日期位于鼠标悬停工具提示后面(如果您使用过不和谐,您可能知道我的意思)。

我试图寻找获取工具提示文本的方法,但没有一种方法有效/可用的解决方案与获取文本无关。即get_attribute('title')不起作用。

作为参考,工具提示的元素是:

<span class="latin12CompactTimeStamp-38a8OU timestamp-3ZCmNB timestampVisibleOnHover-2bQeI4 alt-1uNpEt"><span aria-label="15:03"><i class="separator-2nZzUB" aria-hidden="true">[</i>15:03<i class="separator-2nZzUB" aria-hidden="true">] </i></span></span>

我可以编辑并包含我的 python 代码,但我认为这对解释没有多大帮助。

在此处输入图像描述

据我所知,网址的格式为(https://discord.com/channels/{guild ID}/{channel ID}/{message ID}) ...

标签: pythonpython-3.xseleniumselenium-webdriverselenium-chromedriver

解决方案


日期在 span 子类的 aria-label 中

elem=driver.find_element_by_xpath("//span[starts-with(@class,'latin12CompactTimeStamp')]/span[1]")

然后使用

print(elem.get_attribute('aria-label'))
print(elem.text)

推荐阅读