2011-08-05 2 views
1

로케이터를 사용하지 않고 Java로 Serenium에서 KeyStroke를 보낼 수 있습니까?셀렌에서 KeyStroke를 브라우저 창 (로케이터 제외)에 보내는 방법

내가 원하는 동작을 수행하기 위해 KeyStroke를 보내야하는 요소 (및 위치 지정자)를 알지 못하기 때문에 KeyStroke를 WebBrowser 자체에 보내려고합니다. 하지만 나는 그 행동이 올바르게 실행된다는 것을 알고 있습니다. 수동으로 브라우저를 활성 창으로 수동 선택하고 페이지의 아무 요소도 선택하지 않고 키보드에서 'Enter'를 누르면됩니다.

는이 코드

SeleniumSession.keyPressNative(Integer.toString(KeyEvent.VK_ENTER)); 

을 시도했지만 나를 위해 작동하지 않았다.

답변

1

HTML 요소로 보내기 - 즉 xpath "/html"에 의해 요소를 찾고 그것에 sendKeys()를 보내면 어떨까요?

+0

"Element not found"오류가있는이 세션을 그냥 닫으면됩니다. 하지만 SeleniumSession.keyPress ("//", "\\ 113") 시도했다; 그리고 아무 것도하지 않았다. – ShockwaveNN

+0

"//"은 모든 요소에 대한 위치 지정자이므로 페이지의 첫 번째 요소에 키 스트로크를 보냈다 (아마도 ). 거의 작동하지 않을 것입니다. –

0

"// body"를 시도 하겠지만 Selenium RC API에서 작동하는지 확신 할 수 없습니다. 이것은 Selenium 2.x의 WebDriver API가 잘 작동하도록 설계된 것들 중 하나입니다.