AttributeError:“WebDriver”对象没有属性“find_element_by_name”

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

当我运行我在cmd中编写的代码时,仅打开(https://www.instagram.com/accounts/password/reset/)页面。没有其他变化。我遇到了这个错误:

username_input = driver.find_element_by_name('username') AttributeError: 'WebDriver' object has no attribute 'find_element_by_name'

username_input = driver.find_element_by_name('username')
我输入了
username
但仍然遇到相同的错误。

from selenium import webdriver from selenium.webdriver.common.keys import Keys from time import sleep driver = webdriver.Firefox() driver.get('https://www.instagram.com/accounts/password/reset/') sleep(2)

username_input = driver.find_element_by_name('username') username_input.send_keys(username) username_input.send_keys(Keys.ENTER) sleep(2)

email_input = driver.find_element_by_name('email') email_input.send_keys(Keys.ENTER) sleep(2)

driver.quit() username = '...' email = '...' reset_instagram_password(username, email)

python email selenium-webdriver firefox
1个回答
0
投票

Selenium 从 4.3 版本开始删除了

'find_element_by_name'

已弃用的 find_element_by_* 和 find_elements_by_* 现已删除 (#10712)

https://github.com/SeleniumHQ/selenium/blob/a4995e2c096239b42c373f26498a6c9bb4f2b3e7/py/CHANGES

你需要做:

用户名输入 = driver.find_element_by_name('用户名')

username_input = driver.find_element(By.NAME, 'username')
© www.soinside.com 2019 - 2024. All rights reserved.