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

numpy.int64类型无len()方法报错:Excel自动录入Web表单求助

解决Selenium传入numpy.int64到输入框报错:object of type 'numpy.int64' has no len()

问题原因

Selenium的send_keys()方法要求传入字符串类型参数,但你从DataFrame中提取的entry['Age']和entry['Salary']是numpy整数类型(numpy.int64),该类型没有len()方法——而send_keys内部逻辑会调用这个方法,因此触发报错。姓名、邮箱等字段能正常运行,是因为它们本身就是字符串类型。

解决方案

将numpy整数类型转换为字符串即可,有两种简单方式:

方式1:直接用str()转换

age_input.send_keys(str(entry['Age']))
salary_input.send_keys(str(entry['Salary']))

方式2:先转为Python原生int再转字符串(可选,兼容性更强)

age_input.send_keys(str(int(entry['Age'])))
salary_input.send_keys(str(int(entry['Salary'])))

修改后的完整代码

for i in dataframe.index:
    entry = dataframe.iloc[i]
    
    web.find_element(By.ID,'addNewRecordButton').click()

    firstname_input = web.find_element(By.ID,'firstName')
    firstname_input.send_keys(entry['Firstname'])

    lastname_input = web.find_element(By.ID,'lastName')
    lastname_input.send_keys(entry['Lastname'])

    email_input = web.find_element(By.ID,'userEmail')
    email_input.send_keys(entry['Email'])

    age_input = web.find_element(By.ID,'age')
    age_input.send_keys(str(entry['Age']))  # 修复此处

    salary_input = web.find_element(By.ID,'salary')
    salary_input.send_keys(str(entry['Salary']))  # 修复此处
    
    departemen_input = web.find_element(By.ID,'department')
    departemen_input.send_keys(entry['Departemen'])   

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 20:06:51