You need to enable JavaScript to run this app. Selenium脚本运行报AttributeError,列表对象无send_keys属性
优惠活动
大模型
产品
解决方案
定价
更多

Selenium脚本运行报AttributeError,列表对象无send_keys属性

报错根源

代码中调用的 find_elements_by_xpath() 是复数形式的元素定位方法,该方法返回值为所有匹配Xpath规则的元素组成的列表,列表类型本身不存在send_keys()方法,直接链式调用就会触发该AttributeError。

修复方案
  • 若确认页面上仅存在1个id为Body的元素:
    直接将定位方法名称去掉末尾的s,改为单数形式的find_element_by_xpath(),该方法会直接返回匹配到的第一个WebElement对象,对象本身支持send_keys()输入操作,修正后的代码为:
    body = driver.find_element_by_xpath(".//*[@id='Body']").send_keys("Body text")
    
    Selenium 4.0+版本已废弃所有find_element_by_xxx格式的旧定位语法,推荐使用官方标准化的定位写法
    from selenium.webdriver.common.by import By
    body = driver.find_element(By.XPATH, ".//*[@id='Body']").send_keys("Body text")
    
  • 若页面上存在多个匹配id为Body的元素,需要对指定元素执行操作:
    先通过复数定位方法拿到元素列表,再通过索引取出目标元素后调用send_keys(),示例写法:
    # 先获取所有匹配的元素组成的列表
    body_element_list = driver.find_elements_by_xpath(".//*[@id='Body']")
    # 对列表中指定位置的元素执行输入操作
    body_element_list[0].send_keys("Body text")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.23 20:15:10