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

网页爬取问题:Load more comments按钮点击及评论信息获取故障

解决arlnow.com评论爬取及"Load more comments"按钮点击问题

一、修复"Load more comments"按钮定位

你的XPath可能因文本匹配、元素属性变化失效,试试以下几种更稳定的定位方式:

  • CSS选择器定位(优先推荐,避免文本波动影响):
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    load_more_btn = WebDriverWait(driver, 15).until(
        EC.element_to_be_clickable((By.CSS_SELECTOR, 'a.load-more-comments'))
    )
    load_more_btn.click()
    
  • 修正XPath(处理文本空格/格式问题):
    load_more_xpath = '//a[contains(normalize-space(text()), "Load more comments")]'
    load_more_button = WebDriverWait(driver, 15).until(
        EC.element_to_be_clickable((By.XPATH, load_more_xpath))
    )
    load_more_button.click()
    
  • 处理iframe嵌套情况:若按钮在iframe内,需先切换上下文:
    iframe = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.TAG_NAME, 'iframe')))
    driver.switch_to.frame(iframe)
    # 再执行按钮点击逻辑
    

二、获取评论数量和内容

1. 提取评论数量

评论数通常在评论区头部的计数标签中,可用以下方式定位:

# CSS选择器匹配计数元素
comment_count = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.CSS_SELECTOR, 'span.comment-count'))
).text
print(f"评论数量:{comment_count}")

或XPath方式:

comment_count = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.XPATH, '//div[@class="comment-header"]//span[contains(text(), "Comment")]'))
).text

2. 提取评论内容

遍历所有评论块,批量提取文本:

# 等待所有评论加载完成
comments = WebDriverWait(driver, 15).until(
    EC.presence_of_all_elements_located((By.CSS_SELECTOR, 'div.comment-content'))
)
# 逐条输出评论
for idx, comment in enumerate(comments, 1):
    print(f"第{idx}条评论:{comment.text.strip()}")

三、额外注意事项

  • 点击"Load more"后需等待新评论加载完成,可添加显式等待或1-2秒随机休眠
  • 若按钮点击无响应,用ActionChains模拟鼠标点击:
    from selenium.webdriver.common.action_chains import ActionChains
    
    actions = ActionChains(driver)
    actions.move_to_element(load_more_btn).click().perform()
    
  • 网站存在反爬机制,建议控制请求频率,避免被封禁

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 14:02:50