Как получить текст внутри элемента, используя Python Selenium? - PullRequest
0 голосов
/ 23 апреля 2020

Итак, я пытаюсь получить текст внутри всех элементов с именами классов "letter-grade" и "course-name".

Вот что я пробовал до сих пор:

grades = browser.find_elements_by_class_name('letter-grade').__getattribute__('text')
classes = browser.find_elements_by_class_name('course-name').__getattribute__('text')
print(grades)
print(classes)

Я также пытался сделать print(grades.text) & print(classes.text), но безрезультатно.

Ответы [ 2 ]

0 голосов
/ 23 апреля 2020

Вы можете сделать это, используя следующий код:

grades = browser.find_elements_by_class_name("letter-grade")
classes = browser.find_elements_by_class_name("course-name")

grades_text = [grade.text for grade in grades]
classes_text = [class_.text for class_ in classes]

print(grades_text)
print(classes_text)

Это называется «понимание списка» в Python (3-я и 4-я строки выше). Для получения текста из элемента используется атрибут / свойство text из Selenium.

Надеюсь, он вам поможет!

0 голосов
/ 23 апреля 2020
    element = driver.find_elements_by_class_name('letter-grade')
    for element in elements:
    print element.text

если вы хотите получить текст атрибута

    item = element.get_attribute("attribute name")
    print item.text

, также вы не можете использовать find_elements_by_class_name, если вы имеете дело с одним веб-элементом, вы всегда можете обратиться find_element_by_class_name при работе с отдельным элементом. find_elements_by_class_name вернет список, и вам нужно будет перебирать этот список при работе со списком веб-элементов.

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