首页 > 解决方案 > 试图从 webelements 列表中提取文本,但我只得到第一个

问题描述

我正在尝试从所有网络元素中获取文本,以便使用正则表达式进行进一步处理,但我只从第一个元素中获取文本。剩下的我得到

错误:

AttributeError:“NoneType”对象没有属性“组”

我正在使用 css 选择器,在 devtools 中我可以清楚地看到,这个选择器找到了webelements我想要的所有东西。

def get_package_value_list(self, SELECTOR):
    value_list = self.browser.find_elements(*SELECTOR)
    result_list=[]

    for value in value_list:
        print(value.text)
        value = re.sub(r'[\n]',',',value.text)
        regex = re.search(Utilities.URL_REGEX_PATTERN, value)
        result_list.append(regex.group())

    return result_list

标签: pythonseleniumselenium-webdriverselenium-chromedriver

解决方案


不知道为什么,换行

value = re.sub(r'[\n]',',',value.text)

value = re.sub(r'\n',',', value.get_attribute("innerText"))

帮助,现在一切都按设计工作。但仍然让我感到困惑,为什么它必须是这样的,尽管这个函数之前在代码中的另一个地方再次调用它工作过......


推荐阅读