所以,我试图获取所有元素中的文本,这些元素的类名是 "字母-等级 "和 "课程-名称"。
这是我目前所尝试的。
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)
,但没有用。
你可以用下面的代码来做。
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中使用的。
希望对你有所帮助
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
将返回列表,当你处理网页元素列表时,你需要在该列表中进行迭代。