如何使用Python Selenium获取元素内部的文本?

问题描述 投票:0回答:1

所以,我试图获取所有元素中的文本,这些元素的类名是 "字母-等级 "和 "课程-名称"。

这是我目前所尝试的。

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) &amp。print(classes.text),但没有用。

python selenium
1个回答
0
投票

你可以用下面的代码来做。

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 attributeproperty是从Selenium中使用的。

希望对你有所帮助


0
投票
    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 将返回列表,当你处理网页元素列表时,你需要在该列表中进行迭代。

© www.soinside.com 2019 - 2024. All rights reserved.