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

使用Python Selenium提取Gitee Issue描述文本返回空白的解决方法

解决Selenium提取Gitee Issue描述空白的问题

问题原因

你当前代码的错误在于使用By.CLASS_NAME时传入了多个类名(git-issue-description markdown-body),而By.CLASS_NAME定位器仅支持单个类名,空格会被当作类名的一部分,导致无法匹配到目标元素,最终返回空白文本。

修改方案

以下是两种可行的定位方式,同时建议添加显式等待确保元素加载完成:

方案1:使用CSS_SELECTOR定位(推荐)

CSS选择器支持直接匹配同时拥有多个类的元素,写法为类名前加.,多个类名直接相连(无空格):

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 显式等待元素可见,最长等待10秒
wait = WebDriverWait(driver, 10)
issue_description = wait.until(EC.visibility_of_element_located(
    (By.CSS_SELECTOR, '.git-issue-description.markdown-body')
)).text

方案2:使用XPATH定位

通过contains匹配元素的class属性同时包含两个目标类名:

issue_description = wait.until(EC.visibility_of_element_located(
    (By.XPATH, '//div[contains(@class,"git-issue-description") and contains(@class,"markdown-body")]')
)).text

补充说明

添加显式等待是为了避免页面未完全加载时就尝试获取元素,这也是导致文本空白的常见原因之一。如果直接定位仍然失败,可以检查是否需要处理登录状态(部分Gitee内容需要登录才能查看)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 14:04:57