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

如何将预设列表与迭代获取的结果对比以验证游戏名称正确性

代码修正方案

原有代码问题

  • 缩进错误:if 语句缩进不符合Python语法规范,运行会直接报错
  • 逻辑错误:直接将完整列表和单个字符串做相等判断,判定逻辑永远不成立
  • 流程缺陷:没有汇总采集到的所有标题就单条对比,无法完成整体校验需求

修正后代码(顺序匹配场景)

如果要求采集到的游戏标题顺序和预设列表完全一致,使用以下代码:

Game_names = ['Game1', 'Game2', 'Game3', 'Game4', 'Game5']
# 先收集所有页面获取到的游戏标题
collected_titles = []

for item in driver.find_elements_by_id("com.project.ProjectName:id/itemContainer"):
    for title in item.find_elements_by_id("com.project.ProjectName:id/title"):
        title_content = title.text
        print('当前采集到的游戏标题:' + title_content)
        collected_titles.append(title_content)

# 整体校验
if collected_titles == Game_names:
    print('✅ 所有游戏标题校验通过,顺序符合预期')
else:
    print('❌ 游戏标题校验不通过')
    # 输出详细错误信息
    if len(collected_titles) != len(Game_names):
        print(f"数量不匹配:预期{len(Game_names)}个,实际采集到{len(collected_titles)}个")
    else:
        for idx, (expected, actual) in enumerate(zip(Game_names, collected_titles)):
            if expected != actual:
                print(f"第{idx+1}个标题不匹配:预期「{expected}」,实际「{actual}」")

修正后代码(无需匹配顺序场景)

如果只要求所有预设游戏名称都存在、没有多余或缺失,不需要对应顺序,将校验部分替换为以下代码即可:

if sorted(collected_titles) == sorted(Game_names):
    print('✅ 所有游戏标题校验通过,无需匹配顺序')
else:
    print('❌ 游戏标题校验不通过')
    print(f"缺失的标题:{list(set(Game_names) - set(collected_titles))}")
    print(f"多余的标题:{list(set(collected_titles) - set(Game_names))}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:48:01