首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >driver.find_elements_by_id('fakebox-input').send_keys('site:linkedin.com/in/和"python developer“和"London"')显示属性错误

driver.find_elements_by_id('fakebox-input').send_keys('site:linkedin.com/in/和"python developer“和"London"')显示属性错误
EN

Stack Overflow用户
提问于 2020-04-10 05:13:19
回答 2查看 330关注 0票数 0

driver.find_elements_by_id('fakebox-input') showing attribute error

当我通过anaconda ipython提示符运行它时,它给出了这个错误消息-

代码语言:javascript
复制
AttributeError: 'list' object has no attribute 'send_keys'

所以这是我的代码-

代码语言:javascript
复制
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"')

另外,当我检查搜索查询时,它是一个空列表

EN

回答 2

Stack Overflow用户

发布于 2020-04-10 05:16:17

您正在尝试通过id获取多个元素,它将返回一个列表。请注意,我使用“search_query = driver.find_element_by_id()”而不是"elements“。

解释: selenium中的每个查询函数有两个版本,一个针对多个元素(此函数返回符合条件的元素列表),另一个针对单个元素(此函数将与第一个相同,但只返回列表中的第一个元素。此外,如果找不到与条件匹配元素,此函数将抛出错误。)

所有这些函数都具有相同的名称,但其中一个用于多个元素,例如find_elements_by_id。另一个是针对单个元素的find_element_by_id

如果要发送密钥,则需要找到单个元素,因此可以使用以下任一方法

代码语言:javascript
复制
driver.find_elements_by_id(your_id)[0]

代码语言:javascript
复制
driver.find_element_by_id(your_id)
票数 0
EN

Stack Overflow用户

发布于 2020-04-10 05:17:58

不能对列表对象使用sendkey。如果您想使用sendkey,请使用find_element_by_id而不是find_elements_by_id。

代码语言:javascript
复制
wait = WebDriverWait(driver, 20)
wait.until_not(EC.element_to_be_clickable((By.ID, "fakebox-input"))).send_keys("Your Data")

将以下导入添加到您的解决方案中:

代码语言:javascript
复制
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61130289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档