Selenium Python调用send_keys时出现FirefoxWebElement无len()的TypeError
报错原因
send_keys()方法仅支持传入字符串、特殊按键类等可转换为输入内容的参数,你代码中直接传入了FirefoxWebElement类型的list_item对象。Selenium处理输入逻辑时会调用len()计算内容长度,WebElement对象本身没有对应长度属性,因此触发类型错误。
修复方案
将需要传入的元素文本内容提取出来再传给send_keys()即可,你代码中已经打印了list_item.text,直接传递该属性值即可:
lists = driver.find_elements_by_xpath("//*[@class= 'gradeA']/td[1]") # 提前定位输入框,避免循环内重复查找元素提升效率 event_input = driver.find_element_by_xpath("//input[@id='event_name']") for list_item in lists: input_content = list_item.text print(input_content) # 可选:每次输入前清空输入框原有内容 event_input.clear() event_input.send_keys(input_content)
内容的提问来源于stack exchange,提问作者Arslan Hassan
相关产品推荐
相关产品推荐

