使用find_elements_by_class_name提取数据

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

我试图通过使用find_elements_by_class_name提取页面上的每个class_name ='position-header',但是当我这样做时,我收到错误:

AttributeError:'list'对象没有属性'text'

from parsel import Selector  
from selenium import webdriver 
from selenium.webdriver.common.keys import Keys   

employment = driver.find_elements_by_class_name('position-header')

屏幕截图显示它在使用方法find_element_by_class_name时返回数据,但在使用find_elements_by_class_name时遇到错误。

enter image description here

python selenium selenium-webdriver
1个回答
2
投票

driver.find_elements_by_class_name()方法返回匹配元素的列表,并且您尝试访问列表中的text属性,该属性不存在... text仅在单个元素实例上可用。

您可以选择第一个并访问.text属性:

driver.find_elements_by_class_name('position-header')[0].text

或迭代列表并获取每个元素的ext:

elements = driver.find_elements_by_class_name('position-header')
for element in elements:
    print(element.text)
© www.soinside.com 2019 - 2024. All rights reserved.