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

Selenium中find_elements_by_class_name失效及语法错误问题求助

Selenium元素定位错误排查与解决方案

错误原因分析

  • 旧版定位方法已废弃:Selenium 4+ 移除了find_elements_by_class_name()这类直接调用的定位方法,统一改用find_elements()配合By类的标准写法
  • 参数语法错误:driver.find_elements(By = 'class_name','category-page__member-link')违反Python语法规则,关键字参数不能出现在位置参数之前
  • 定位方式选错:By.NAME是根据元素的name属性定位,但目标元素的标识是类名category-page__member-link,对应定位方式应为By.CLASS_NAME

正确解决方案

1. 修正元素定位代码

将原有错误的定位代码替换为以下正确写法:

book_categories = driver.find_elements(By.CLASS_NAME, 'category-page__member-link')

也可使用CSS选择器实现相同定位效果:

book_categories = driver.find_elements(By.CSS_SELECTOR, '.category-page__member-link')

2. 页面加载优化(可选)

页面可能存在异步加载导致元素未及时渲染的情况,建议添加显式等待确保元素加载完成:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 最多等待10秒,直到目标元素组出现
book_categories = WebDriverWait(driver, 10).until(
    EC.presence_of_all_elements_located((By.CLASS_NAME, 'category-page__member-link'))
)

完整修正代码示例

import pandas as pd
import time
import selenium 
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import seaborn as sns
import os
import logging

PATH = 'C:/Program Files/chromedriver/chromedriver.exe'
options = Options()

driver = webdriver.Chrome(service=Service(PATH))
page_url = "https://witcher.fandom.com/wiki/Category:Characters_in_the_stories"
driver.get(page_url)

# 等待元素加载并定位
book_categories = WebDriverWait(driver, 10).until(
    EC.presence_of_all_elements_located((By.CLASS_NAME, 'category-page__member-link'))
)

# 测试输出结果
for item in book_categories:
    print(item.text, item.get_attribute('href'))

driver.quit()

版本兼容性说明

你的ChromeDriver(109.0.5414.74)与Chrome浏览器(109.0.5414.75)版本匹配,不存在版本不兼容问题,无需更换驱动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 12:25:17