selenium python send_key error: list object has no attribute
selenium python send_key error: list object has no attribute
你好,
我的 xpath 确实在 firePath 中进行了验证,但是当我尝试发送 _key 时出现错误。
userID = driver.find_elements_by_xpath(".//*[@id='UserName']")
userID.send_keys('username')
AttributeError: 'list' object has no attribute 'send_keys'
有人可以给我一根骨头吗?
您将获得一个 List 的 webElements,其中 driver.find_elements_by_xpath(".//*[@id='UserName']")
当然不是单个元素,也没有 send_keys()
方法。使用 find_element_by_xpath
代替。请参阅 this api 文档。
userID = driver.find_element_by_xpath(".//*[@id='UserName']")
userID.send_keys('username')
当试图对列表而不是元素执行操作时会发生此错误。当我尝试单击按钮提交凭据时,我遇到了类似的错误。我通过模拟按键盘上的回车键找到了解决方法。例如使用 xpath/css 等查找页面上的任何元素并发送回车键。
driver.find_element_by_id('test_id').send_keys(Keys.ENTER)
我遇到了同样的问题 - 所以我就这样做了:
userID[0].send_keys('username')
为我工作
而不是这个:
userID = driver.find_elements_by_xpath(".//*[@id='UserName']")
userID.send_keys('username')
尝试:
userID = driver.find_element_by_xpath(".//*[@id='UserName']")
userID.send_keys('username')
我遇到了同样的问题,这对我有用。
driver.find_element_by_xpath(".//*[@id='UserName']").send_keys('username')
find_element 没有 s
.
请将您的代码替换为以下代码,因为您喜欢处理列表的第一个部分,而不是整个列表。
userID = driver.find_elements_by_ID('username')[0]
userID.send_keys('username')
或从 find_elements_by_ID 中删除 "s",例如:
userID = driver.find_element_by_ID('username')
userID.send_keys('username')
我在使用 Instagram 输入时遇到了同样的问题,尝试让时间模块休眠 2 秒,然后它开始为我工作。问题是在加载网站之前,机器人开始查找该路径并报告错误。
import time
time.sleep(2)
当我们 select 多个元素时,我们键入 elements (s),其 return 一个 list。没有“send_keys”的单个 元素没有 s。有“send_keys”
你好,
我的 xpath 确实在 firePath 中进行了验证,但是当我尝试发送 _key 时出现错误。
userID = driver.find_elements_by_xpath(".//*[@id='UserName']")
userID.send_keys('username')
AttributeError: 'list' object has no attribute 'send_keys'
有人可以给我一根骨头吗?
您将获得一个 List 的 webElements,其中 driver.find_elements_by_xpath(".//*[@id='UserName']")
当然不是单个元素,也没有 send_keys()
方法。使用 find_element_by_xpath
代替。请参阅 this api 文档。
userID = driver.find_element_by_xpath(".//*[@id='UserName']")
userID.send_keys('username')
当试图对列表而不是元素执行操作时会发生此错误。当我尝试单击按钮提交凭据时,我遇到了类似的错误。我通过模拟按键盘上的回车键找到了解决方法。例如使用 xpath/css 等查找页面上的任何元素并发送回车键。
driver.find_element_by_id('test_id').send_keys(Keys.ENTER)
我遇到了同样的问题 - 所以我就这样做了:
userID[0].send_keys('username')
为我工作
而不是这个:
userID = driver.find_elements_by_xpath(".//*[@id='UserName']")
userID.send_keys('username')
尝试:
userID = driver.find_element_by_xpath(".//*[@id='UserName']")
userID.send_keys('username')
我遇到了同样的问题,这对我有用。
driver.find_element_by_xpath(".//*[@id='UserName']").send_keys('username')
find_element 没有 s
.
请将您的代码替换为以下代码,因为您喜欢处理列表的第一个部分,而不是整个列表。
userID = driver.find_elements_by_ID('username')[0]
userID.send_keys('username')
或从 find_elements_by_ID 中删除 "s",例如:
userID = driver.find_element_by_ID('username')
userID.send_keys('username')
我在使用 Instagram 输入时遇到了同样的问题,尝试让时间模块休眠 2 秒,然后它开始为我工作。问题是在加载网站之前,机器人开始查找该路径并报告错误。
import time
time.sleep(2)
当我们 select 多个元素时,我们键入 elements (s),其 return 一个 list。没有“send_keys”的单个 元素没有 s。有“send_keys”