Как вы отправляете специальные ключи в Selenium Library / Robot Framework? - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь отправить F12, используя Robot Framework, возможно, используя send special key.

библиотеки Selenium.

Я нашел эту страницу со списком кодов для общих необычных ключей https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.keys.html, где F12 указан как \ ue03c.

Я перепробовал все комбинации, которые я мог себе представить, с обратными слешами и цитатами, но ни одна из них не сработала. Как отправить F12 в Robot Framework?

Кроме того, на следующем шаге мне нужно отправить F16, но он не указан на связанной странице - как я могу отправить это?

Редактировать: мне не нужно отправлять ключ определенному элементу или около того, я просто хочу вызвать опцию меню с помощью сочетания клавиш.

Редактировать 2: я ограничен библиотекой Selenium 3.1.

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Из SeleniumLibrary 3.3 Press Keys представлена ​​следующая функциональность:

Имитирует нажатие клавиш пользователем на элементе или в активном браузере.

Это позволяет пользователю отправлять специальные ключи или комбинации клавиш в сам браузер, помимо веб-элементов.

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 , в соответствии с этой страницей , SHIFT + F4 = F16 или по крайней мере, в Windows.

0 голосов
/ 07 января 2019

Вы можете использовать встроенную библиотеку seleniumlibrary Press Key вместе с соответствующим кодом ASCII определенной клавиши, которую вы хотите нажать.

На ваш вопрос, если вы хотите отправить "F12", вы должны сделать следующее.

press key    (An element on the page)    \\86

86 - это код ASCII для F12, и документация по этому ключевому слову явно говорит о том, что оно должно вызываться в элементе страницы. Подробнее об этом можно прочитать здесь.

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

...