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

如何使用Python+Selenium爬取div标签title数据?代码无输出求解决

爬取fynd品牌标题的代码修正方案

原代码核心错误点

  • 定位方法和参数不匹配:find_element_by_css_selector方法接收的是CSS选择器语法,但你传入的是XPath表达式,无法正确定位元素
  • 单元素/多元素方法用错:你用了返回单个元素的find_element方法,后续无法对单个元素做循环遍历,需要改用返回元素列表的find_elements方法
  • 取值逻辑缺失:append()方法为空,没有把获取到的标题内容存入列表,最终输出必然是空列表
  • 定位规则错误:注释掉的XPath中class属性写法错误,同时动态生成的data-v-前缀属性不需要加入定位规则,避免页面更新后定位失效
  • 页面等待时间过短:2秒等待不足以让品牌列表完全加载,容易出现找不到元素的问题

修正后的可运行代码

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

# 若你使用Selenium 3版本,仍可保留原executable_path写法
driver = webdriver.Chrome()
url = "https://www.fynd.com/brands/"
driver.get(url)
# 延长等待时间确保页面加载完成,也可以替换为显式等待逻辑
time.sleep(5)
driver.maximize_window()
luxury_brand_names = []

# 用XPath定位所有class为title的div元素
elements = driver.find_elements(By.XPATH, "//div[@class='title']")
for a in elements:
    # 获取元素文本内容存入列表
    luxury_brand_names.append(a.text)
print(luxury_brand_names)
# 用完记得关闭驱动
driver.quit()

补充说明

  • 如果你使用的是Selenium 3版本,将driver = webdriver.Chrome()替换为你原来的带executable_path的写法即可
  • 若要提升运行稳定性,可以把固定的time.sleep替换为Selenium的显式等待逻辑,等待元素加载完成再做定位
  • 最终输出的luxury_brand_names列表就是所有title div标签内的文本内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 17:06:08