Я пытаюсь удалить данные (время отправления, перевозчик, цена и т. Д.) С платформы поиска поездов (https://www.thetrainline.com)
, и у меня возникает проблема с извлечением имен атрибутов. HTML для всех соединений выглядит следующим образом, и я хочу получить список всех носителей, т.е. я хочу получить из атрибута "data-test-carrier-neme
" соответствующий носитель, здесь "trenitalia
".
div class="_1moixrt _dtnn7w" tabindex="0"span data-test-carrier-name="trenitalia"
Например, для случаев, когда я просто собираю текст атрибутов итерацией (см. Синтаксис)Теперь для носителя мне не удается собрать имена атрибутов. Я получаю только имя носителя для первой итерации / первого соединения, но не для следующих соединений.
dep_times = driver.find_elements_by_xpath('//div[@class="_1rxwtew "]')
dep_times_list = [x.text for x in dep_times]
# Первый подход: Я получаю имя атрибута, но только для первого соединения
carrier1 = driver.find_elements_by_xpath('(//div[@class="_1moixrt _dtnn7w"])[1]/span[1]')
carrier1_list = [x.get_attribute("data-test-carrier-name") for x in carrier1]
Вывод: ['trenitalia']
# Второй подход: Я получаю доступ к атрибутам всех соединений, но без получения имени атрибута:
carrier1 = driver.find_elements_by_xpath('(//div[@class="_1moixrt _dtnn7w"])[1]/span[1]')
carrier1_list = [x.get_attribute("data-test-carrier-name") for x in carrier1]
Вывод: [Нет, Нет, Нет, Нет, Нет, Нет]
Может ли кто-нибудь изменить мой код для решения моей проблемы? Большое спасибо за помощь !!