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

Selenium提取Gitee变更文件时Python列表非空却显示为空的问题

解决方法

问题根源

你的XPath匹配到了3个<a>元素,其中前两个的text()是空字符串。对空字符串执行split(' ')会得到['']这个非空列表,所以原判断if not temp:无法过滤这些无效项。

修正方案

方案1:在XPath层面直接过滤空文本链接

修改元素定位的XPath,只匹配有非空文本的<a>标签:

files_changed = driver.find_elements(By.XPATH, '//*[@class = "header file-header clearfix  file-header-sticky"]//a[normalize-space(text()) != ""]')

normalize-space()会去掉文本前后的空白字符,确保不会误判仅含空格的文本。

方案2:调整代码内的空值判断逻辑

如果不想修改XPath,可在代码中直接检查元素文本是否有效:

files_changed = driver.find_elements(By.XPATH, '//*[@class = "header file-header clearfix  file-header-sticky"]//a')
files = []
filecount = 1
for z in files_changed:
    file_text = z.text.strip()
    if not file_text:
        print("A Blank File")
        filecount += 1
    else:
        print("This is the temp value:", [file_text])
        files.append([filecount, file_text])
        print("List of files changed:", files)
        filecount += 1

temp_issue['files_changed'] = files

效果说明

两种方案都能过滤掉空文本的无效链接,最终只获取到目标文件路径,输出符合期望。


内容的提问来源于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 16:11:44