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

Python使用Selenium出现find_elements_by_*弃用警告及新方法报错如何解决

Selenium 4元素定位报错&警告解决方法

出现InvalidArgumentException报错的核心原因是Selenium 4.x版本的find_elements()方法要求同时传入定位方式和定位值两个参数,不能直接传入类名/标签名等字符串。

完整修正步骤

  1. 首先导入定位类型常量类By
from selenium.webdriver.common.by import By
  1. 替换原有的定位写法
    你原来的旧写法:
divTag = driver.find_elements_by_class_name('quote')

替换为新写法即可同时消除警告和报错:

divTag = driver.find_elements(By.CLASS_NAME, 'quote')

常用定位方式新旧写法对照表

可根据自己的定位需求替换对应参数:

  • 按ID定位:原find_element_by_id('id值') → 新find_element(By.ID, 'id值')
  • 按XPath定位:原find_elements_by_xpath('xpath表达式') → 新find_elements(By.XPATH, 'xpath表达式')
  • 按标签名定位:原find_elements_by_tag_name('标签名') → 新find_elements(By.TAG_NAME, '标签名')
  • 按CSS选择器定位:原find_elements_by_css_selector('css选择器') → 新find_elements(By.CSS_SELECTOR, 'css选择器')
  • 按链接文本定位:原find_element_by_link_text('链接完整文本') → 新find_element(By.LINK_TEXT, '链接完整文本')

注意事项

  • 查找单个匹配元素时使用find_element()方法,返回单个元素对象
  • 查找所有匹配元素时使用find_elements()方法,返回元素对象列表,无匹配时返回空列表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:45:01