You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Selenium抓取推文点赞hover显示的完整数值(如21,633)

解决方法

这种悬停显示的完整数值,通常是通过JavaScript动态渲染的,要么藏在原元素的属性里,要么会生成一个临时提示框元素。下面给你两种可行的方案:

  • 方案一:直接读取元素的title属性
    很多社交平台(比如Twitter)会把完整数值存在点赞按钮的title属性里,即使页面显示的是缩写(21.6K),你可以在悬停后直接获取这个属性值:
# 执行悬停操作后
full_likes = href_text.get_attribute('title')
print(full_likes)  # 输出应为21,633

如果悬停前title属性就有值,甚至可以不用执行悬停,直接读取即可。

  • 方案二:定位动态生成的tooltip元素
    如果title属性里没有对应值,悬停后页面会动态生成一个tooltip提示框。你可以用Selenium定位这个元素,比如通过它的角色(role)或类名:
# 先执行悬停操作
hov.perform()
# 等待tooltip加载(加显式等待更稳妥)
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

tooltip = WebDriverWait(driver, 10).until(
    EC.visibility_of_element_located((By.CSS_SELECTOR, '[role="tooltip"]'))
)
full_likes = tooltip.text
print(full_likes)

注意:BeautifulSoup4是解析静态HTML源码的工具,而这种动态生成的悬浮文本不在初始源码中,所以用BS4抓不到,必须依靠Selenium处理浏览器动态渲染的内容。

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 20:45:56