当我运行我在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)
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')