我想在https://www.premierleague.com/match/22720上获得玩家的名字。
HTML代码:
“玩家名称” =网站上的每个玩家
<div class="info"><span class="name">'Player Name'<div class="playerLineupEventContainer-4664"></div></span>
我的代码:
match_players = match_player_wd.find_elements_by_class_name('info')
len(match_players) = 36
我只需要11名球员的“热刺”名字。但是我不知道如何命名。
答案 0 :(得分:1)
您可以尝试以下方法吗?
player_elem = match_player_wd.find_elements_by_class_name('name')
player_names = [e.text for e in player_elem]
我没有看页面的源代码,因此它可能不如选择具有“ name”类的所有元素那样直接。在这种情况下,您可能需要先将'info'类元素设置为根,然后通过相同的find_by_class_name()
函数获取其子元素。
答案 1 :(得分:0)
玩家有两种类型:
您可以尝试使用以下代码获取玩家的姓名:
driver = webdriver.Chrome(executable_path = r'driver_path')
wait = WebDriverWait(driver,10)
driver.maximize_window()
driver.get("https://www.premierleague.com/match/22720")
wait = WebDriverWait(driver, 10)
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, 'div.scoreboxContainer')))
home_players = driver.find_elements_by_css_selector('div.home div.event')
for home_player in home_players:
print(home_player.text)
away_players = driver.find_elements_by_css_selector('div.away div.event')
for away_player in away_players:
print(away_player.text)
希望这会有所帮助。