【问题标题】:Attribute Error: 'list' object has no attribute 'send_Keys' - Selenium属性错误:'list' 对象没有属性'send_Keys' - Selenium
【发布时间】:2021-06-07 16:44:01
【问题描述】:

我试图打开我的代码中的链接,找到它要求我输入我的电子邮件地址的位置,然后输入我的电子邮件地址,最后按 Enter。但是我收到一个属性错误:“list”对象没有属性“send_Keys”并且不知道为什么。

这是我的代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

PATH = "/Users/Monkeys/Downloads/chromedriver"
driver = webdriver.Chrome(PATH)

driver.get("https://www.mytutor.co.uk/tutors/login/")
search = driver.find_elements_by_name("form:email:input")
search.send_keys("noname@noname.com")
search.send_Keys(Keys.RETURN)

driver.quit()

我尝试以其他方式查找该元素,但仍然出现相同的错误。我以为我在 HTML 代码中定位元素时遇到了问题,但这不是问题。我根本不知道这种情况下的属性错误是什么意思。如果我能得到一些帮助,我将不胜感激。

【问题讨论】:

  • driver.find_elements_by_name 将返回一个列表。在列表中选择您想要的元素,例如search[0].send_keys 或使用driver.find_element_by_name(无)

标签: python selenium webdriver attributeerror


【解决方案1】:
driver.find_elements_by_name("form:email:input")

将返回一个列表,而不是单个 Web 元素。所以search 在你的情况下是一个列表而不是一个网络元素。

send_keys 

来自 selenium 用于 WebElement。

使用 find_element 代替,这将返回 WebElement 而不是 Web 元素列表。

search = driver.find_element_by_name("form:email:input")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 2019-11-22
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    • 2018-09-28
    相关资源
    最近更新 更多