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

Selenium如何遍历页面指定class所有元素判断短信回复状态

Selenium遍历同class所有元素的实现方案

find_element() 方法的设计逻辑就是仅返回匹配定位规则的第一个DOM元素,要批量获取所有同class的元素,直接改用 find_elements()(方法名末尾带s)即可,该方法会返回所有符合定位条件的元素组成的列表,直接遍历列表就能实现你要的判断逻辑。

适配你Podium短信统计场景的参考代码

from selenium.webdriver.common.by import By

# 替换成你自己Podium账号的显示名称
my_name = "你的账号显示名"
responded_contacts = []

# 获取所有匹配chakra-avatar__initials类名的元素,返回列表
all_name_elements = driver.find_elements(By.CLASS_NAME, 'chakra-avatar__initials')

# 遍历元素逐个判断
for elem in all_name_elements:
    contact_name = elem.text.strip() # 去掉文本前后多余空白、换行,避免判断误差
    if contact_name and contact_name != my_name:
        responded_contacts.append(contact_name)
        print(f"已回复联系人:{contact_name}")

实际使用注意事项

  • Podium的会话列表是动态懒加载的,不在当前可视区域的会话不会渲染到DOM中,直接抓元素会漏统计。你需要先模拟滚动会话列表区域,把所有会话加载完成后再执行元素抓取,才能拿到完整的已回复/未回复名单。
  • 不建议全局搜索chakra-avatar__initials类名:聊天窗口内、个人菜单入口也会用到这个头像类名,会导致统计到无关的名字。你可以先定位到左侧会话列表的父容器元素,再在父容器范围内调用find_elements抓头像名,统计结果会更准确。
  • 未回复联系人的判断不能仅靠头像元素:你可以结合会话最后一条消息的发送方标识做判断,如果最后一条消息发送方是你自己、且没有对方后续回复,就归类到未回复名单。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 08:21:24