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

Selenium如何检测亚马逊页面指定class是否存在并给变量赋值

问题原因梳理
  • find_elements_by_class_name 仅支持传入单个类名,你传入了3个空格分隔的类名属于语法错误,多类匹配需要使用CSS选择器实现
  • find_elements 类方法的返回值是匹配元素组成的列表,无匹配结果时返回空列表而非None,原有couponBadge != None的判断永远为真,逻辑完全失效
  • 变量赋值错误使用了比较运算符==,应该使用赋值运算符=才能完成x的赋值操作
  • 原有异常捕获的类型错误,上述代码运行出错不会触发AttributeError,捕获逻辑无法生效
正确实现代码

如果使用Selenium 4.0及以上版本,推荐使用官方推荐的By定位方式,代码如下:

from selenium.webdriver.common.by import By

# 前面保留你原有打开亚马逊页面的逻辑
coupon_badge_list = driver.find_elements(By.CSS_SELECTOR, ".a-icon.a-icon-addon.couponBadge")
# 列表非空说明存在优惠券标签,赋值为0,否则赋值为1
x = 0 if coupon_badge_list else 1

如果使用Selenium 4.0以下旧版本,也可以直接调用CSS选择器定位方法:

# 前面保留你原有打开亚马逊页面的逻辑
coupon_badge_list = driver.find_elements_by_css_selector(".a-icon.a-icon-addon.couponBadge")
x = 0 if coupon_badge_list else 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:27:02