你如何在 Selenium Library/Robot 框架中发送特殊键?

How do you send special keys in Selenium Library/Robot Framework?

我正在尝试在 Robot Framework 中使用发送 F12,可能是通过使用 Selenium 库的 send special key

我发现此页面列出了常用键的键码 https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.keys.html,其中 F12 被列为 \ue03c。

我已经尝试了所有我能想到的反斜杠和引号的组合,但其中 none 行得通。如何在 Robot Framework 中发送 F12?

此外,在下一步中我需要发送 F16,但它未在链接页面中列出 - 我该如何发送?

编辑:我不需要将键发送到特定元素左右,我只想使用其键盘快捷键触发菜单选项。

编辑 2:我仅限于 Selenium Library 3.1。

您可以使用 seleniumlibrary 内置关键字 Press Key 以及您要按下的特定键对应的 ASCII 码。

对于您的问题,如果您想发送 "F12",您将执行以下操作。

press key    (An element on the page)    \86

86 是 F12 的 ASCII 代码,此关键字的文档明确说明要在页面的元素上调用它。您可以在此处阅读更多相关信息。

http://robotframework.org/Selenium2Library/Selenium2Library.html#Press%20Key

从 SeleniumLibrary 3.3 开始 Press Keys 引入了以下功能:

Simulates user pressing key(s) to an element or on the active browser.

除网络元素外,这允许用户向浏览器本身发送特殊键或组合键。

Sleep   5s
Press Keys  //*[contains(@id,'textfield')]    AAAAA    # enter text "AAAAA" to a textfield
Sleep   5s
Press Keys  None    F3    # F3 into browser
Sleep   5s
Press Keys  None    CTRL+Z   # Send CTRL+Z to browser to Undo "AAAAA" in the textfield
Sleep   5s

这是三个 Press Keys 调用的输出日志:

  • 第一个简单地在文本字段中输入:

    KEYWORD SeleniumLibrary.Press Keys //*[contains(@id,'textfield')], AAAAA
    Documentation: Simulates user pressing key(s) to an element or on the active browser.
    INFO    Sending key(s) ('AAAAA',) to //*[contains(@id,'textfield')] element.    
    INFO    Sending keys AAAAA
    
  • 第二个向浏览器发送特殊密钥:

    KEYWORD SeleniumLibrary.Press Keys None, F12
    Documentation: Simulates user pressing key(s) to an element or on the active browser.
    INFO    Sending key(s) ('F12',) to page.    
    INFO    Pressing special key F12 to browser.    
    
  • 第三个,按住CONTROL不放,发一个Z,然后松开CONTROL。总而言之,做一个 Undo 动作。全部发送到页面。

    KEYWORD SeleniumLibrary.Press Keys None, CTRL+Z
    Documentation: Simulates user pressing key(s) to an element or on the active browser.
    INFO    Sending key(s) ('CTRL+Z',) to page.     
    INFO    Pressing special key CONTROL down.  
    INFO    Sending key Z   
    INFO    Releasing special key CONTROL.
    

至于F16,按这个pageSHIFT+F4=F16,或者至少在 Windows.