【问题标题】:Selenium KeyDown for keys not in the modifierSelenium KeyDown 用于不在修饰符中的键
【发布时间】:2015-11-07 19:17:44
【问题描述】:

据我所知,selenium keyDown(keyUp) 方法仅适用于修饰符(SHIFT、ALT、CTRL)中的键。我需要按 SPACE 键一段时间。

我对 Selenium 键盘界面中的按键事件处理有疑问。

1.为什么 selenium 不允许其他通用键的 keydown 和 keyup 事件?

2。有没有什么办法可以实现这个目标?

目前,我使用 Robot 类来实现它,但我不想使用它。

【问题讨论】:

    标签: selenium


    【解决方案1】:

    由于您没有告诉我们您使用的是哪种 Selenium 绑定,我将用 Java 展示我的示例,您可以将它们转码为您喜欢的任何绑定:

    您可以通过sendKeys() 方法按空格键:

    driver.sendKeys(Keys.SPACE);
    

    我不知道您为什么要对您所说的“通用键”使用keyDown() keyUp() 方法,您也可以将sendKeys() 用于大多数目标:

    driver.sendKeys("a");
    

    如果您想将普通键操作与keyDown()/keyUp() 操作结合起来,可以使用 Actions 类

    Actions action = new Actions(driver);
    action.keyDown(Keys.CONTROL).sendKeys("c").keyUp(Keys.CONTROL).perform(); 
    

    例如通过CTRL+c复制一些东西...

    【讨论】:

    • 感谢您的回复。是的,我正在使用 selenium java。我想对 SPACE 使用 keyDown 事件的原因如下。 1.我的目标网页包含一些视频播放内容,需要按住空格键一定的时间(例如,如果你按空格键10秒,会显示下一页。我知道这不是一般的常见的网站 UI,但这对我来说是强制性要求。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 2010-10-15
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 2017-05-25
    相关资源
    最近更新 更多