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

求助:使用Python Selenium通过部分类名定位元素并获取完整类名失败

解决方法:通过部分类名定位元素并获取完整类名

你的代码定位失败的核心问题是CSS选择器写法错误:

  • 类选择器必须以.开头,直接写fa fa-circle atp-会被解析为标签选择器,而非类选择器;
  • 针对部分类名atp-,需要用属性选择器实现部分匹配。

以下是两种正确的实现方式:

方法一:使用属性包含选择器

匹配class属性中包含atp-的元素,同时结合固定类名fa和fa-circle缩小定位范围:

# 定位目标元素
availability = driver.find_element(By.CSS_SELECTOR, ".fa.fa-circle[class*='atp-']")

# 获取完整类名
full_class_name = availability.get_attribute("class")

方法二:使用类名前缀匹配选择器

精准匹配以atp-开头的类名,同时考虑类名可能出现在属性中间的情况(空格分隔的类名列表):

# 定位目标元素
availability = driver.find_element(By.CSS_SELECTOR, ".fa.fa-circle[class^='atp-'], .fa.fa-circle[class*=' atp-']")

# 获取完整类名
full_class_name = availability.get_attribute("class")

这两种方法都能正确定位到目标元素,之后即可获取包含atp-green或atp-red的完整类名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 20:15:32