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

如何在Selenium Python中遍历div并提取电话号码

批量提取AG Grid中inboundPhoneNumber列的电话号码

你原来的代码只返回单个元素,是因为find_element只会匹配第一个符合条件的节点。要批量提取,只需做以下调整:

核心修改点

  • 用find_elements(复数形式)替代find_element,它会返回所有匹配的元素列表
  • 加入显式等待,适配AG Grid的动态渲染特性,避免因元素未加载完全导致提取为空

完整实现代码

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 初始化浏览器驱动(以Chrome为例,需确保驱动路径配置正确)
driver = webdriver.Chrome()

try:
    # 等待目标列所有单元格加载完成,超时时间10秒
    phone_cells = WebDriverWait(driver, 10).until(
        EC.presence_of_all_elements_located((By.CSS_SELECTOR, "div[col-id='inboundPhoneNumber']"))
    )
    
    # 遍历提取每个单元格的电话号码
    for index, cell in enumerate(phone_cells, start=1):
        phone_num = cell.text.strip()
        if phone_num:
            print(f"第{index}个号码: {phone_num}")
except Exception as err:
    print(f"提取出错: {str(err)}")
finally:
    # 无论成功失败,关闭浏览器
    driver.quit()

额外注意事项

  • 若AG Grid启用了分页,需要添加分页遍历逻辑:提取当前页数据后,模拟点击下一页按钮,重复提取直到最后一页
  • 可通过浏览器开发者工具(F12)确认目标单元格的CSS选择器是否准确,部分AG Grid结构中单元格会带有ag-cell类,此时选择器可改为div.ag-cell[col-id='inboundPhoneNumber']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 09:50:30