【发布时间】:2021-09-08 10:14:49
【问题描述】:
我正在尝试使用 selenium 来收集选定用户个人资料中的所有游戏标题,以便稍后我可以使用 random.choice 随机选择一个,以建议他们使用不和谐机器人来玩它。 但是我目前正在寻求的帮助只是将游戏标题打印到控制台,我可以处理 discord.py 集成。
到目前为止,我能够返回完整的游戏列表,但其中还包括不需要的信息,例如游戏时间和链接。
我想只分离出游戏名称并将每个名称存储在一个列表中,以便稍后再次引用以随机选择一个。
到目前为止,我已经尝试使用 .split('\n') ,但是单独的行数会根据返回的信息而有所不同,并且并非所有用户的页面上的标题数都相同。
我也尝试过使用以下的 xpath:
//*[@id="game_107410"]/div[2]/div[1]/div[1]/div
但是很容易看出这是引用特定游戏 ID 并且不会返回同一页面上的其他标题。
我当前的代码如下所示。非常感谢您提供有关学习解决此问题的任何建议或指导。
from selenium import webdriver
PATH = 'C:/Program Files (x86)/chromedriver.exe'
game_titles ={}
driver = webdriver.Chrome(PATH)
driver.get('https://steamcommunity.com/id/Desmoo88/games/?tab=all')
game_list= driver.find_element_by_xpath('//*[@id="games_list_rows"]').text
print(game_list)
driver.quit()
【问题讨论】:
-
所以你想收集所有的标题游戏并存储到一个列表中?
-
正确,我在第 5 行启动了名为 game_titles 的列表
标签: python python-3.x selenium selenium-webdriver web-scraping