driver.find_elements_by_id('fakebox-input') showing attribute error
当我通过anaconda ipython提示符运行它时,它给出了这个错误消息-
AttributeError: 'list' object has no attribute 'send_keys'所以这是我的代码-
search_query = driver.find_elements_by_id('fakebox-input')#that's the ID I am getting from the chrome inspection image I attached
search_query.send_keys('site:linkedin.com/in/ AND "python developer" AND "London"')另外,当我检查搜索查询时,它是一个空列表
发布于 2020-04-10 05:16:17
您正在尝试通过id获取多个元素,它将返回一个列表。请注意,我使用“search_query = driver.find_element_by_id()”而不是"elements“。
解释: selenium中的每个查询函数有两个版本,一个针对多个元素(此函数返回符合条件的元素列表),另一个针对单个元素(此函数将与第一个相同,但只返回列表中的第一个元素。此外,如果找不到与条件匹配元素,此函数将抛出错误。)
所有这些函数都具有相同的名称,但其中一个用于多个元素,例如find_elements_by_id。另一个是针对单个元素的find_element_by_id。
如果要发送密钥,则需要找到单个元素,因此可以使用以下任一方法
driver.find_elements_by_id(your_id)[0]或
driver.find_element_by_id(your_id)发布于 2020-04-10 05:17:58
不能对列表对象使用sendkey。如果您想使用sendkey,请使用find_element_by_id而不是find_elements_by_id。
wait = WebDriverWait(driver, 20)
wait.until_not(EC.element_to_be_clickable((By.ID, "fakebox-input"))).send_keys("Your Data")将以下导入添加到您的解决方案中:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import Byhttps://stackoverflow.com/questions/61130289
复制相似问题