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

Python抓取Menards网站商品信息的稳定元素定位方案咨询

解决方案

可直接在定位到的search-item商品卡片基础上,进一步定位内部独立字段对应的专属元素,Menards全站搜索结果页的商品卡片结构统一,该方案可覆盖所有目标页面,无需做字符串清洗操作。

各字段对应的精准定位规则如下:

  • 商品描述:对应类名description,仅返回商品标题文本,无操作类冗余内容
  • SKU:对应类名sku,内容固定格式为Sku # + 编码,仅需截取后段即可
  • 价格:对应类名price,仅返回商品当前售价数值,不含满减、运费等额外信息

修改后的参考代码如下:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 等待页面商品元素加载完成,避免空返回
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".search-item")))
items = driver.find_elements(By.CSS_SELECTOR, ".search-item")

result = []
for item in items:
    # 规避偶尔出现的空卡片异常
    try:
        desc = item.find_element(By.CSS_SELECTOR, ".details .description").text.strip()
        sku = item.find_element(By.CSS_SELECTOR, ".details .sku").text.strip().replace("Sku # ", "")
        price = item.find_element(By.CSS_SELECTOR, ".price-wrapper .price").text.strip()
        result.append({
            "商品描述": desc,
            "SKU": sku,
            "价格": price
        })
    except:
        continue

# 输出测试
print(result[:3])
# 后续可直接将result列表写入Excel

如果需要处理多规格商品,可额外判断商品卡片是否存在variations类的元素,存在的话可以拼接规格提示文本或者进入详情页抓取全规格数据。

内容的提问来源于stack exchange,提问作者Jorge Jurado-Garcia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:36:02