You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium实现Instagram登录报错:'WebElement'对象无'send_Keys'属性

Selenium Instagram登录报错解决方法

当前报错的直接解决方法

你触发AttributeError: 'WebElement' object has no attribute 'send_Keys'的核心原因是方法名大小写错误:Selenium元素输入方法为全小写的send_keys(),你写的send_Keys()中K大写属于拼写错误,将此处修改为全小写即可解决当前报错。

其余需要修正的代码问题

仅修改方法名后代码仍无法正常运行,还需要调整以下问题:

  • 密码输入框定位值拼写错误:Instagram登录页密码输入框的name属性为password,你代码中写的passwrod拼写错误,会触发找不到元素的报错
  • 旧版元素定位方法已废弃:find_element_by_xpath、find_element_by_name这类写法在Selenium 4.0+版本中已经被移除,需要替换为find_element(By.定位类型, 定位值)的标准写法,使用前需要先导入By模块
  • send_keys()无返回值,不需要赋值给username变量,该赋值操作无实际意义
  • 固定time.sleep()等待稳定性差,建议替换为显式等待,确保元素加载完成后再执行操作

修正后的可运行代码示例

from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()
driver.get("https://www.instagram.com/")

# 处理cookie弹窗
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "/html/body/div[4]/div/div/button[1]"))).click()

# 输入账号密码
WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.NAME, "username"))).send_keys("你的实际账号")
WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.NAME, "password"))).send_keys("你的实际密码")

# 点击登录
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="loginForm"]/div/div[3]/button/div'))).click()

内容的提问来源于stack exchange,提问作者logan9997

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 13:15:02