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

如何过滤Selenium抓取的Steam用户游戏列表信息 仅提取游戏标题

解决方案

你可以用starts-with()语法编写通用XPath匹配所有游戏条目,不需要绑定具体游戏ID,直接批量提取所有游戏标题存入列表即可,修改后代码如下:

from selenium import webdriver
from selenium.webdriver.common.by import By
# 如果是Selenium 3版本可以不用导入By,直接用find_elements_by_xpath方法

PATH = 'C:/Program Files (x86)/chromedriver.exe'

game_titles = []

driver = webdriver.Chrome(PATH)
driver.get('https://steamcommunity.com/id/Desmoo88/games/?tab=all')

# 通用XPath:匹配所有id以game_开头的游戏条目下的标题节点
title_elements = driver.find_elements(By.XPATH, '//div[starts-with(@id, "game_")]/div[2]/div[1]/div[1]/div')

# 遍历提取文本存入列表
for ele in title_elements:
    title = ele.text.strip()
    if title: # 过滤空文本
        game_titles.append(title)

# 打印结果验证
print(game_titles)
print(f"共抓取到{len(game_titles)}款游戏")

driver.quit()
补充说明
  • 如果你使用的是Selenium 3版本,只需要把定位元素的代码替换为driver.find_elements_by_xpath('//div[starts-with(@id, "game_")]/div[2]/div[1]/div[1]/div')即可正常运行
  • 如果遇到页面加载慢导致抓取内容为空的情况,可以在driver.get之后加几秒强制等待,或者配置显式等待定位到游戏列表节点再执行后续操作
  • 得到的game_titles列表可以直接传入random.choice()方法实现随机抽取功能

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 23:18:03