Selenium登录Twitter报TypeError: expected str instance, int found求助
问题根因
当前报错由代码笔误直接导致,和Selenium元素定位、Chrome输出的警告日志无关:
- 你在
account_info()函数中读取账号配置时,将获取密码的代码password = info[1]错写为了password = [1],最终传入send_keys()的参数是包含整数1的列表,而非字符串格式的密码,直接触发类型错误。 - 其余Chrome输出的蓝牙、USB、GPU相关报错都是ChromeDriver的常规运行警告,不影响代码逻辑,不需要额外处理。
修复方案
只需要修改两处代码即可正常运行:
- 修正密码取值的笔误
- 修正窗口最大化的参数拼写错误(原代码中
start.maximized写法错误,正确应为中划线连接)
修正后的代码片段
# 仅展示修改部分,其余逻辑保持不变 def account_info(): with open('account_info.txt', 'r') as f: info = f.read().split() email = info[0] # 修正取值错误,取读取到的信息列表的第二个元素作为密码 password = info[1] return email, password # 修正窗口最大化参数拼写 options.add_argument("start-maximized")
如果需要进一步提升代码稳定性,可以把所有固定time.sleep()替换为Selenium显式等待逻辑,避免因网络波动、页面加载慢导致的元素找不到问题。
内容的提问来源于stack exchange,提问作者sel23is
相关产品推荐
相关产品推荐

