尝试在 Python 中将“find_element_by_class_name”与 Selenium 一起使用时出现 AttributeError

问题描述 投票:0回答:1

我正在尝试创建一个工具,使用 Selenium WebDriver 自动键入网页上特定类的每个字母。但是,我遇到了错误:

AttributeError: 'WebDriver' object has no attribute 'find_elements_by_class_name'

这是Python代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Edge()

driver.get("https://example.com")

letters_divs = driver.find_elements_by_class_name("word")

for div in letters_divs:
    letters = div.find_elements_by_tag_name("letter")
    
    for letter in letters:
        target_element = driver.find_element_by_id("wordsInput")
        target_element.send_keys(letter.text)
driver.quit()

错误发生在我尝试按类名查找元素的行处。我有应该进行输入的文本字段的类名和 ID。

任何关于为什么会发生此错误以及如何修复它的帮助将不胜感激。

python selenium-webdriver
1个回答
0
投票

如果您使用的是最新版本的 Selenium,则

.find_elements_by_*
形式的查找元素方法已被弃用并删除。将它们替换为

driver.find_elements(By.CLASS_NAME, "word")
© www.soinside.com 2019 - 2024. All rights reserved.