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

Python Selenium如何按出现顺序匹配提取的Name与对应URL

解决方法

你不需要分开提取名称和URL,改为先定位所有条目根容器(class为middle的div),逐个遍历每个容器提取对应数据,就能天然保持顺序对应,无URL的位置自动填充空值即可。

修正后代码

# 定位所有20条条目对应的根容器
entry_list = driver.find_elements_by_xpath("//div[@class='middle']")
name_list = []
url_list = []

for entry in entry_list:
    # 提取当前条目的名称
    current_name = entry.find_element_by_xpath("./h5/p").text
    name_list.append(current_name)
    # 尝试提取当前条目的URL,不存在则赋值为空
    try:
        current_url = entry.find_element_by_xpath("./h5/p/a").get_attribute("href")
    except:
        current_url = ""
    url_list.append(current_url)

逻辑说明

  • 最终得到的name_list和url_list长度均为20,相同下标位置的元素一一对应,比如排序第10位的名称对应name_list[9],对应的URL就是url_list[9],直接通过下标即可匹配关联关系。
  • 如果你需要直接存储配对结果,可以直接生成结构化的列表,不需要单独维护两个列表:
result = []
for entry in entry_list:
    current_name = entry.find_element_by_xpath("./h5/p").text
    try:
        current_url = entry.find_element_by_xpath("./h5/p/a").get_attribute("href")
    except:
        current_url = ""
    result.append({
        "name": current_name,
        "url": current_url
    })

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 09:00:03