You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Selenium和Python将网页文本转换为数组

解决Python+Selenium提取文本并存入数组的问题

嘿,作为Python和Selenium新手,你遇到的这个问题我当初刚学的时候也碰过!用字符串存提取的文本确实容易导致内容乱糟糟的,换成列表(也就是你说的数组)就会清爽很多,而且后续处理起来也更灵活。

我帮你把代码改成用列表存储的版本,同时优化了一些细节:

# 按显示顺序返回名称列表
def gather_names(self):
    # 初始化一个空列表来存储名称(Python里的列表就相当于你说的数组)
    full_list_names = []
    hover_names = self.browser.find_elements_by_xpath("//div[contains(@class, 'recent-names')]")
    
    for name_element in hover_names:
        # 获取元素的文本内容,去除前后多余空格
        name_text = name_element.text.strip()
        # 只把非空的文本加入列表,避免无效内容
        if name_text:
            full_list_names.append(name_text)
    
    return full_list_names

关键修改点说明:

  • 把原来的字符串变量fullListNames换成了空列表full_list_names,列表是Python中存储有序集合最常用的结构
  • 遍历元素时,用append()方法把每个名称添加到列表末尾,替代字符串拼接,这样每个名称都是独立的元素
  • 用strip()去除文本前后的空格和换行符,避免提取到多余的空白内容
  • 增加了if name_text的判断,过滤掉空的文本元素,保证列表里的内容都是有效的

使用示例:

调用这个方法后,你可以这样查看结果,输出会非常清晰:

# 假设你的实例是driver_instance
names_list = driver_instance.gather_names()
for index, name in enumerate(names_list):
    print(f"第{index+1}个名称:{name}")

这样输出的每个名称都会单独一行,再也不会出现混乱的拼接效果啦!

内容的提问来源于stack exchange,提问作者BBB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:48:12