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

如何用Python Selenium遍历div提取账号的href链接与名称?

解决Selenium提取账号URL和名称的问题

你的代码每次循环都重复等待所有元素,效率偏低且没做信息提取。直接一次性获取所有目标div,再逐个提取里面的账号信息即可,具体调整如下:

修正后的代码

# 一次性获取所有目标div元素,避免循环内重复执行等待逻辑
found_elements = WebDriverWait(driver, 10).until(
    EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "div[class*=friends_list_bl]>div"))
)

# 遍历每个元素提取账号的href和名称
account_list = []
for item in found_elements:
    # 定位当前div下的a标签(如果a标签有特定class,可替换成更精确的CSS选择器,比如By.CSS_SELECTOR, "a.friend-link")
    link_tag = item.find_element(By.TAG_NAME, "a")
    # 获取href属性值
    account_href = link_tag.get_attribute("href")
    # 要是href是相对路径(比如"/i.amtired"),记得拼接网站域名得到完整URL
    # full_url = "https://你的目标域名" + account_href
    # 获取账号名称文本,strip()去掉前后多余空格
    account_name = link_tag.text.strip()
    # 将信息存入列表
    account_list.append({"url": account_href, "name": account_name})

# 打印提取结果
for account in account_list:
    print(f"账号链接: {account['url']}, 账号名称: {account['name']}")

关键说明

  • 不要在循环里重复调用WebDriverWait,一次性获取所有元素更高效,也能避免页面动态变化导致的元素定位问题。
  • 如果页面里的a标签有专属class或其他特征,把By.TAG_NAME, "a"换成更精准的选择器,比如By.CSS_SELECTOR, "a[class*=friend-name]",能提升定位的准确性。
  • 若提取的href是相对路径,记得手动拼接目标网站的域名,才能得到可直接访问的完整URL。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 15:00:08