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

LinkedIn Sales Navigator爬取用户名仅获4条结果,期望25条求助

解决LinkedIn Sales Navigator爬取仅返回4条用户名的问题

问题背景

使用Selenium爬取LinkedIn Sales Navigator用户名,XPATH为//span[@data-anonymize="person-name"],仅能获取4条结果(预期25条),已尝试WebDriverWait等待页面加载但无效。

核心原因及解决方案

1. 滚动加载未触发

LinkedIn Sales Navigator采用滚动懒加载机制,初始仅渲染部分结果(通常是前4-5条),剩余内容需滚动页面后才会加载。

  • 解决代码示例:
from selenium import webdriver
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome()
driver.get("你的筛选搜索链接")

# 循环滚动直到获取足够结果
target = 25
while True:
    # 执行JS滚动到页面底部
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    time.sleep(2)  # 调整等待时间适配网速
    current_names = driver.find_elements(By.XPATH, '//span[@data-anonymize="person-name"]')
    if len(current_names) >= target:
        break

# 提取用户名
usernames = [name.text.strip() for name in current_names]
print(f"获取到{len(usernames)}条用户名")
driver.quit()

2. XPATH定位精度不足

原XPATH可能匹配到非目标元素,或未覆盖所有结果节点,可尝试结合父容器缩小范围:

//div[contains(@class, "search-result__person-info")]//span[@data-anonymize="person-name"]

3. 等待条件不合理

仅等待页面加载完成不足以触发懒加载,需等待目标元素数量达到预期:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 等待元素数量至少为25
WebDriverWait(driver, 30).until(
    lambda d: len(d.find_elements(By.XPATH, '//span[@data-anonymize="person-name"]')) >= 25
)

注意事项

  • LinkedIn反爬严格,避免高频操作,添加随机等待时间降低风险
  • 确保使用的账号拥有Sales Navigator完整权限,否则可能无法查看全量结果
  • 若滚动后仍无法加载全部结果,检查是否有"查看更多"按钮需要点击(部分场景下存在)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 12:17:46