You need to enable JavaScript to run this app. 如何使用Selenium/Python查找比对文本属性 实现电子烟库存不足提醒
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Selenium/Python查找比对文本属性 实现电子烟库存不足提醒

实现方案建议

1. 现有代码适配调整

当前Selenium 4.x+版本已经废弃find_element_by_xpath写法,也不支持直接传入chromedriver路径初始化浏览器对象,需要先做兼容调整,避免运行报错。

2. 核心功能实现思路

  • 不要直接读取下拉框的整体文本,遍历下拉框下的每一个option子元素,单独获取每个选项的文本内容
  • 用正则表达式从选项文本中拆分出口味名称和库存数字
  • 匹配到库存数字小于10的,直接打印对应提醒
  • 如果需要监控多个热门款,把所有目标商品URL存入列表循环执行逻辑即可

3. 调整后可运行代码

import re
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 配置chromedriver路径
PATH = "C:\Program Files (x86)\chromedriver.exe"
service = Service(PATH)
driver = webdriver.Chrome(service=service)

# 如果要监控多个热门款,把url存在这个列表里循环即可
target_urls = [
    "https://safagoods.com/vape-shop/disposable-vape-devices/huge-disposables"
]

# 库存阈值
STOCK_THRESHOLD = 10

for url in target_urls:
    driver.get(url)
    # 显式等待下拉框加载完成,最多等10秒
    select_elem = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.XPATH, "//*[@id='input-option2231']"))
    )
    # 获取所有口味选项
    option_list = select_elem.find_elements(By.TAG_NAME, "option")
    for option in option_list:
        option_text = option.text.strip()
        if not option_text:
            continue
        # 提取文本中的数字作为库存,可根据实际页面文本格式调整正则规则
        stock_match = re.search(r'\d+', option_text)
        if stock_match:
            stock = int(stock_match.group())
            # 提取口味名,去掉库存相关的数字、符号等冗余内容
            flavor = re.sub(r'[()()\d::库存\s]*$', '', option_text).strip()
            if stock < STOCK_THRESHOLD:
                print(f"{flavor}即将售罄!")

driver.close()

4. 扩展调整说明

  • 如果实际页面的口味+库存文本格式和现有正则匹配逻辑不符,可以自行调整正则规则适配
  • 需要定时监控的话,外层加while True循环搭配time.sleep()设置间隔时间即可
  • 需要推送通知到微信、邮箱的话,补充对应推送接口的调用逻辑即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 16:21:04