【问题标题】:'WebDriver' object has no attribute 'find_element_by_name'\'WebDriver\' 对象没有属性 \'find_element_by_name\'
【发布时间】:2022-11-24 13:35:11
【问题描述】:

每当我运行代码时,它都会打开 instagram 页面大约两秒钟,直到它关闭,然后它会给我这个错误:'WebDriver' object has no attribute 'find_element_by_name'

每当我运行代码时,它都会打开 instagram 页面大约两秒钟,直到它关闭,然后它会给我这个错误:'WebDriver' object has no attribute 'find_element_by_name'

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time, random

#Username and password of our instagram account
my_username = 'a'
my_password = 'm'

#Instagram username list for DM:
usernames = ['user1', 'user2', 'user3',]

#Messages:
messages = ['Hey! Please follow my page', 'Hey, how are you doing?', 'Hey']

#Delay time between messages in sec:
between_messages = 2000

browser = webdriver.Chrome('chromedriver')

# Authorization:
def auth(username, password):
    try:
        browser.get('https://instagram.com')
        time.sleep(random.randrange(2,4))

        input_username = browser.find_element_by_name('username')
        input_password = browser.find_element_by_name('username')

        input_username.send_keys(username)
        time.sleep(random.randrange(1,2))
        input_password.send_keys(password)
        time.sleep(random.randrange(1,2))
        input_password.send_keys(Keys.ENTER)

    except Exception as err:
        print(err)
        browser.quit()

auth(my_username, my_password)

【问题讨论】:

  • find_element_by_name 已被弃用,而是使用 browser.find_element(By.NAME, 'username')from selenium.webdriver.common.by import By

标签: python python-3.x


【解决方案1】:

find_element_by_name 和其他以 find_element_by 开头的方法在 Selenium 4.0.0 中以 this commit 弃用,并从 Selenium 4.3 版以 this pull request 中删除。前面提到的 PR 有一条评论说如何更新代码以使用 find_element() 方法而不是 find_element_by_namefind_element_by_id 等。

尝试将您的 find_element_by_name 调用更改为以下内容:

        input_username = browser.find_element(By.NAME, 'username')
        input_password = browser.find_element(By.NAME, 'password')

请记住将以下内容添加到您的导入中,否则以上两行将不起作用:

from selenium.webdriver.common.by import By

【讨论】:

    猜你喜欢
    • 2022-06-27
    • 2019-01-03
    • 2022-01-08
    • 2021-06-23
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    • 2022-06-25
    相关资源
    最近更新 更多