错误:类型对象 'Keys' 没有属性 'chord

10 投票
2 回答
18014 浏览
提问于 2025-05-11 02:13

我在运行selenium代码的时候遇到了下面的错误。

代码:

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

错误:

AttributeError: 类型对象 'Keys' 没有属性 'chord'

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

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")        

相关文章:

  • 暂无相关问题
暂无标签

2 个回答

0

我想补充一个可能会遇到的情况(因为我的声望不够,不能以评论的形式添加),如果网页表单的控制键被禁用,而你想用自己的文字替换掉已经填好的内容,可以试试下面的方法:

driver.execute_script("document.getElementById('elementID').value='new value'")

你也可以尝试在这个元素上调用 .clear() 方法,或者在操作链中模拟三次点击,但如果使用 .send_keys() 的时候,可能还是会触发自动填充或自动替换功能。在这种情况下,直接用javascript设置属性可能是最好的选择,甚至是唯一的选择。

15

selenium.webdriver.common.keys.Keys 这个类里并没有叫做 chord 的函数(可以去查一下文档)。你可以简单地把它分成两个语句来处理。

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

撰写回答