首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:键入对象'Keys‘没有属性'chord’

错误:键入对象'Keys‘没有属性'chord’
EN

Stack Overflow用户
提问于 2015-11-25 11:55:57
回答 2查看 15.1K关注 0票数 9

我在执行selenium代码时出错。

代码:

代码语言:javascript
复制
driver.find_element_by_id(PlaylistManagerLocators.Folder_Name).send_keys(Keys.chord(Keys.CONTROL, "a"), "Auto_Folder5763")

错误:

AttributeError:输入对象'Keys‘没有属性'chord’

我已经导入了所有所需的文件。

代码语言:javascript
复制
from selenium.webdriver.common.keys import Keys
from selenium.webdriver import ActionChains


driver.find_element_by_id(PlaylistManagerLocators.Folder_Name).send_keys(Keys.chord(Keys.CONTROL, "a"), "Auto_Folder5763")        
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-25 12:04:58

chord中没有selenium.webdriver.common.keys.Keys函数(检查文档)。您可以简单地将它分成两个语句。

代码语言:javascript
复制
driver.find_element_by_id(id).send_keys(Keys.CONTROL + "a")
driver.find_element_by_id(id).send_keys("Auto_Folder5763")

或者,如果您希望同时按下键,则可以尝试使用selenium.webdriver.common.action_chains.ActionChains

票数 13
EN

Stack Overflow用户

发布于 2022-10-28 11:59:54

只是为了为一些读者可能遇到的场景添加一个答案(我没有足够的声誉来添加这个注释),如果webform禁用了控制键,并且您想用自己的字符串替换预填充的文本,那么这个方法可以工作:

代码语言:javascript
复制
driver.execute_script("document.getElementById('elementID').value='new value'")

您也可以尝试在元素上调用.clear()或模拟动作链中的三击,但是在.send_keys()上仍然会触发一个自动填充或自动替换函数,在这种情况下,使用javascript直接设置属性可能是最好的/唯一的选项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33915900

复制
相关文章

相似问题

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