2014-10-25 2 views
1

RSelenium에 어떻게 새 탭을 열 수 있습니까? 특히 "CTRL + T"를 창에 보낼 제어 키를 어떻게 지정합니까? 나는 시도 :RSelenium에서 새 탭 열기

library(RSelenium) 
RSelenium::startServer() 
dr <- remoteDriver() 
dr$open() 
dr$navigate("http://www.stackoverflow.com") 
# find the Users tab 
webElem <- dr$findElement("id", "nav-users") 
dr$mouseMoveToLocation(webElement = webElem) # move to the required element 
dr$click(2) # right mouse button click 
webElem$sendKeysToElement(list(key = "control", "t")) # open a new tab by sending ctrl+t 

셀레늄 나던 지원 탭 그러나 예를 들어, 참조 :

require(RSelenium) 
RSelenium::startServer() 
dr = remoteDriver() 
dr$open() 
b = remDr$findElement(using = 'tag', value = "body") 
b$sendKeysToElement(list("CONTROL + T")) #this does not work 

답변

3

RSelenium가 키보드 키의 목록이 다음과 같이 ?selKeys

당신은 링크를 새 탭을 열 수 있습니다 참조 https://code.google.com/p/selenium/issues/detail?id=5572 새 창에서 열면 더 좋습니다.

webElem$sendKeysToElement(list(key = "control", "w")) 
> dr$getWindowHandles() 
[[1]] 
[1] "{64da9f4a-4974-4e11-a078-35785ac31227}" 
[2] "{952d4b9c-9955-4233-a048-d2e9b043117c}" 

> dr$getCurrentWindowHandle() 
[[1]] 
[1] "{64da9f4a-4974-4e11-a078-35785ac31227}" 

> dr$switchToWindow("{952d4b9c-9955-4233-a048-d2e9b043117c}") 
> dr$getCurrentWindowHandle() 
[[1]] 
[1] "{952d4b9c-9955-4233-a048-d2e9b043117c}" 
+0

시도해보십시오. 이 새로운 탭에 대한 일종의 핸들을 반환합니까? – Alex

관련 문제