2013-08-23 2 views
2

можно выполнить CtrlP кликнуть на Geb? Я попробовал это, как это, но он не работает, как я ожидал:Geb - выполнить Ctrl + P

interact { 
      keyDown(Keys.CONTROL) 
      sendKeys("P") 
      keyUp(Keys.CONTROL) 
} 

ответ

1

Вы можете отправить не символьные нажатия клавиш с использованием метода Key.chord() WebDriver в:

import org.openqa.selenium.Keys 

$("input", name: "firstName") << Keys.chord(Keys.CONTROL, "P") 

См this section of the manual для получения дополнительной информации.

+0

Я читал это раньше. Проблема с этим кодом - мне нужен элемент, который будет выполнять нажатия клавиш. Но в моем приложении мне нужно выполнить «CTRL + P» (тот же ярлык для печати), не фокусируясь на каких-либо элементах. Я пробовал это: $() << Keys.chord (Keys.CONTROL, «P»), но он выдает ошибку org.openqa.selenium.WebDriverException: неизвестная ошибка: не может сфокусировать элемент –

+0

Как работает ключевой пресс в вашем приложение? Является ли обработчик события привязанным к телу документа? Если это тогда, попробуйте '$ ('body') << Keys.chord (Keys.CONTROL,« P »)'. – erdi

+0

@erdi, как вы можете использовать что-то похожее, чтобы открыть страницу предварительного просмотра, используя драйвер Chrome? Я не думаю, что это действительно возможно, так как это ярлык браузера (Ctrl + P). Любые советы о том, как это можно достичь? Целью является получение вида печати, поэтому я могу извлечь ссылку на созданный PDF (https://code.google.com/p/chromedriver/issues/detail?id=19) и загрузить его. –

0

Надеется, что вы можете использовать взаимодействовать ..

import org.openqa.selenium.Keys 
interact { 
keyDown(Keys.CONTROL) 
keyDown(Keys.P) 
} 
Смежные вопросы