已安装Selenium,但find_elements_by系列函数缺失求助
解决Selenium找不到find_elements_by_*系列方法的问题
这是因为你安装的是Selenium 4.x版本,官方已经移除了所有
find_elements_by_*、find_element_by_*这类旧的定位方法,只保留统一的find_element()和find_elements()接口。正确的用法是搭配
By类来指定定位类型,步骤如下:- 先导入
By类:from selenium.webdriver.common.by import By - 替换原有的旧写法:
- 原
find_elements_by_class_name("your-class")改成:driver.find_elements(By.CLASS_NAME, "your-class") - 其他常见定位方式的对应替换:
- ID定位:
find_element_by_id("test-id")→driver.find_element(By.ID, "test-id") - NAME定位:
find_element_by_name("test-name")→driver.find_element(By.NAME, "test-name") - XPATH定位:
find_element_by_xpath("//div[@class='test']")→driver.find_element(By.XPATH, "//div[@class='test']") - CSS选择器定位:
find_element_by_css_selector(".test")→driver.find_element(By.CSS_SELECTOR, ".test")
- ID定位:
- 原
- 先导入
如果非要用旧方法(不推荐),可以降级到Selenium 3.x版本,执行以下命令:
pip uninstall selenium -y pip install selenium==3.141.0不过3.x已经停止维护,存在安全和兼容性隐患,建议尽量适配新写法。
内容的提问来源于stack exchange,提问作者Nolan Padalhin
相关产品推荐
相关产品推荐

