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

使用Python Selenium爬取Glassdoor评论:点击Continue Reading获取管理层建议数据

解决Glassdoor评论中"管理层建议"爬取问题

问题根源

你之前的定位失败主要有两个原因:

  • 按钮文本匹配错误:实际按钮文本是**"Continue reading"**(末尾小写),你用了"Continue Reading"(大写),导致XPATH找不到元素。
  • 全类名定位易失效:类名包含空格和冗余标识,页面更新时容易变动,且空格在XPATH的@class匹配里需要完全一致,稍有变化就会失败。

可行解决方案

1. 用显式等待确保元素可点击

使用Selenium的WebDriverWait等待按钮加载完成并处于可点击状态,避免因页面加载延迟导致的点击失败。

2. 更稳定的定位方式

优先用文本匹配(忽略大小写)或部分类名匹配,提升定位的稳定性。

完整代码示例

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException, NoSuchElementException

def click_continue_reading(gdReview):
    try:
        # 方式1:通过文本匹配(忽略大小写)定位按钮
        continue_btn = WebDriverWait(gdReview, 5).until(
            EC.element_to_be_clickable((By.XPATH, './/div[normalize-space(text())="Continue reading"]'))
        )
        continue_btn.click()
    except (TimeoutException, NoSuchElementException):
        # 没有展开按钮的情况直接跳过
        pass

def scrape_advice_to_management(gdReview):
    # 先尝试点击展开按钮
    click_continue_reading(gdReview)
    try:
        # 定位管理层建议元素,用data-test属性(和pros/cons一致的定位逻辑)
        res = gdReview.find_element(By.XPATH, './/span[@data-test="advice-management"]').text
    except NoSuchElementException:
        res = ""  # 没有建议时返回空字符串,比0更合理
    return res

# 调用示例(配合你的pros/cons爬取)
# review = ... # 单个评论元素
# pros = scrape_pros(review)
# cons = scrape_cons(review)
# advice = scrape_advice_to_management(review)

额外注意事项

  • 部分评论可能没有"管理层建议"内容,即使展开后也找不到,所以要做好异常捕获。
  • 如果遇到反爬限制,可适当添加点击后的等待时间(time.sleep(1)),或使用无头浏览器配合代理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 13:55:42