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

Python Selenium爬虫中如何判断日期值是否属于指定日期列表

问题根因

当前判断逻辑存在数据类型匹配错误:

  • 当listdate赋值为单个日期字符串时,和lp.get_attribute('title')取到的字符串值做==比较属于同类型等值判断,逻辑可正常运行
  • 当listdate赋值为日期列表时,直接用字符串类型的title值和整个列表做==等值判断,二者数据类型不同,值永远不可能相等,因此始终返回False,无法命中多日期匹配规则
修复方案

将等值判断替换为成员判断,即校验当前抓取到的日期字符串是否存在于目标日期列表中,使用Python内置的in运算符即可实现,修正后可运行代码如下:

from selenium.webdriver.common.by import By

# 配置需要匹配的目标日期列表
listdate = ['Jun 23, 2022', 'Jun 24, 2022', 'Jun 25, 2022']

lp = driver.find_element(By.CSS_SELECTOR, 'div > time')
# 抓取元素title属性,.strip()用于去除首尾可能存在的空格、换行等空白字符,避免格式问题导致匹配失败
current_date = lp.get_attribute('title').strip()
# 判断当前日期是否属于目标日期范围
lpval = current_date in listdate
print(lpval)

if lpval:
    print('Do somethin')
else:
    print('Stop')

补充说明:如果后续需要新增匹配日期,直接往listdate列表中追加对应格式的日期字符串即可,无需修改核心判断逻辑。如果遇到日期明明在列表中却匹配失败的情况,先打印current_date核对实际抓取到的值,确认是否存在大小写差异、特殊字符、格式不一致的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 00:18:15