Как я могу получить текст в HTML-код с помощью Selenium? - PullRequest
0 голосов
/ 13 мая 2019

Я хочу получить имя игрока на 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 игроков с именем "Тоттенхэм".Но я не знаю, как получить имена.

Ответы [ 2 ]

1 голос
/ 13 мая 2019

Можете ли вы попробовать следующее:

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().

0 голосов
/ 13 мая 2019

Есть два типа игроков:

  1. Домашний плеер.
  2. В гостях.

Вы можете попробовать этот код, чтобы получить имя игрока:

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)

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...