如何解决硒python中,列表没有属性“ send_keys”
我尝试自动执行instagram登录。这是我的代码
from time import sleep
from selenium import webdriver
from cofig import *
browser=webdriver.Firefox()
browser.implicitly_wait(5)
browser.get('https://www.instagram.com/')
sleep(2)
username_input = browser.find_elements_by_name('username')
username_input.send_keys(USERNAME)
password_input = browser.find_elements_by_name('password')
password_input.send_keys(PASSWORD)
login_button = browser.find_elements_by_css_selector('button[type="submit"]')
login_button.click()
browser.close()
cofig是另一个保存我的instagram用户名和密码的文件。但是我收到一个错误消息,说列表没有属性'send_keys'。这是我的错误
Traceback (most recent call last):
File "bot.py",line 13,in <module>
username_input.send_keys(USERNAME)
AttributeError: 'list' object has no attribute 'send_keys'
我该怎么办?
解决方法
顾名思义,browser.find_elements_by_name()
返回元素列表,而不是元素。 send_key()
是该列表元素上的方法,但不是列表本身的方法。
以下代码改为在该列表的第一个元素上调用send_keys()
,只要列表中至少有一个元素,它就可以解决您的问题:
username_input = browser.find_elements_by_name('username')
username_input[0].send_keys(USERNAME)
password_input = browser.find_elements_by_name('password')
password_input[0].send_keys(PASSWORD)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。