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

如何通过Selenium获取class为gsc-cursor-page的元素数量

正确获取嵌套元素数量的方法

你的代码存在几个问题:

  • find_element_by_css_selector 只会返回匹配到的第一个元素,要获取多个元素需要用复数形式 find_elements_by_css_selector
  • 遍历单个元素会触发类型错误,因为pages_nav是单个元素而非可迭代的列表
  • 打印len(pages)的写法错误,直接计算元素列表的长度即可

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

方式一:直接定位所有目标元素

直接通过CSS选择器定位所有.gsc-cursor-page元素,然后获取其长度:

# 获取所有class为gsc-cursor-page的元素
pages = driver.find_elements_by_css_selector('.gsc-cursor-page')
# 打印元素数量
print(len(pages))

方式二:通过父元素定位子元素

先找到父容器.gsc-cursor,再在这个容器内部查找子元素,定位更精准:

# 先获取父容器元素
pages_nav = driver.find_element_by_css_selector('.gsc-cursor')
# 在父容器内查找所有子元素
pages = pages_nav.find_elements_by_css_selector('.gsc-cursor-page')
# 打印元素数量
print(len(pages))

如果页面是动态加载的,建议先等待元素加载完成,避免返回空列表:

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

# 等待父容器出现
pages_nav = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.CSS_SELECTOR, '.gsc-cursor'))
)
# 在父容器内等待所有子元素加载完成
pages = WebDriverWait(pages_nav, 10).until(
    EC.presence_of_all_elements_located((By.CSS_SELECTOR, '.gsc-cursor-page'))
)
print(len(pages))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:27:22