2014-10-25 3 views
1

Как открыть новую вкладку в RSelenium? В частности, как вы указываете управляющий ключ для отправки «CTRL + T» в окно? Я пытаюсь:открыть новую вкладку в RSelenium

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

Вы можете открыть новую вкладку на ссылку следующим образом:

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 

Селен вкладки поддержки оленья кожа однако смотри, например, 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

Смежные вопросы