Итерация по классу DIV с использованием селена на странице - PullRequest
0 голосов
/ 28 сентября 2019

Я пытаюсь перебрать ряд строк на странице, используя селен, чтобы быстро очистить результаты со страницы.У меня есть код, который, по-видимому, возвращает первую строку и печатает ее, но, похоже, не выполняет итерацию по множеству.

content = [browser.find_element_by_class_name('event')]
rows = [browser.find_elements_by_class_name('event__match')]

for rows in content:
    goals = {}
    goals['Home'] = rows.find_element_by_class_name("event__participant--home").text.strip()
    goals['Away'] = rows.find_element_by_class_name("event__participant--away").text.strip()
    goals['hScore'] = rows.find_element_by_class_name("event__scores").text.split("-")[1]
    goals['aScore'] = rows.find_element_by_class_name("event__scores").text.split("-")[-1]



    print(goals['Home'],goals['aScore'],goals['aScore'],goals['Away'])

возвращает мне результат;

Team 1 
0
0 Team 2

Какой будет ожидаемый результат, когда на странице будет только одно совпадение, но на данный момент их 50.

Мне кажется, что я что-то упустил в моем методе, это может быть довольно просто и пялиться на менялицо так извиняется, если это так!

1 Ответ

1 голос
/ 28 сентября 2019

Вы ошиблись в for rows in content:, где содержимое является родительским div, и вам нужны строки.Чтобы перебрать все строки, используйте код ниже:

rows = browser.find_elements_by_class_name('event__match')

for row in rows:
    goals = {}
    goals['Home'] = row.find_element_by_class_name("event__participant--home").text.strip()
    goals['Away'] = row.find_element_by_class_name("event__participant--away").text.strip()
    goals['hScore'] = row.find_element_by_class_name("event__scores").text.split("-")[1]
    goals['aScore'] = row.find_element_by_class_name("event__scores").text.split("-")[-1]

    print(goals['Home'],goals['aScore'],goals['aScore'],goals['Away'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...