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

Selenium返回10页最优方案及LinkedIn翻页问题求助

LinkedIn爬虫问题解决方案

一、下一页按钮定位修复

你原代码里的下一页按钮定位有语法错误——把click()写在了element_to_be_clickable的参数里,这会导致等待逻辑失效。另外LinkedIn的元素类名定位用CSS选择器比XPATH更稳定,给你两种可靠的定位方案:

方案1:CSS选择器定位(推荐)

# 等待下一页按钮可点击
nxt_button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.artdeco-pagination__button--next")))
# 确保按钮在可视区域(避免因滚动未到位导致点击失败)
driver.execute_script("arguments[0].scrollIntoView();", nxt_button)
# 点击按钮
nxt_button.click()

方案2:修正后的XPATH定位

如果坚持用XPATH,注意要精准匹配button元素,避免误匹配其他节点:

nxt_button = wait.until(EC.element_to_be_clickable((By.XPATH, "//button[contains(@class, 'artdeco-pagination__button--next')]")))
nxt_button.click()

二、优化返回搜索页的方法(替代10次driver.back())

连续10次driver.back()不仅低效,还容易因为历史记录混乱导致页面状态异常,推荐两种更优方案:

方案1:新标签页打开用户档案(最优)

在新标签页处理用户档案,无需返回操作,直接关闭标签页切回搜索页:

# 先保存搜索页的窗口句柄
search_window = driver.current_window_handle

for user in all_users:
    profile_link = user.get_attribute('href')
    # 新标签页打开用户档案
    driver.execute_script("window.open(arguments[0]);", profile_link)
    # 切换到新标签页
    driver.switch_to.window(driver.window_handles[-1])
    # 处理用户档案逻辑
    go_profile(profile_link, counter, driver)
    # 关闭当前标签页
    driver.close()
    # 切回搜索页
    driver.switch_to.window(search_window)
    counter += 1

# 处理完一页后直接操作下一页
scroll(driver)
nxt_button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.artdeco-pagination__button--next")))
nxt_button.click()

方案2:保存搜索页URL,直接跳转回去

如果不想用多标签,提前保存搜索页的URL,处理完所有用户后直接跳转回搜索页:

# 保存当前搜索页的URL
search_url = driver.current_url

for user in all_users:
    profile_link = user.get_attribute('href')
    driver.get(profile_link)
    go_profile(profile_link, counter, driver)
    counter += 1

# 直接跳转回搜索页,替代10次back
driver.get(search_url)
scroll(driver)
nxt_button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.artdeco-pagination__button--next")))
nxt_button.click()

另外补充:你原代码里all_users = driver.find_elements(By.XPATH,后面的XPATH不完整,建议用"//a[contains(@class, 'app-aware-link') and contains(@href, '/in/')]"来精准定位用户链接,确保能获取到每页10个用户。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 08:47:21