簡體   English   中英

在RSelenium中打開一個新標簽

[英]open a new tab in RSelenium

如何在RSelenium打開一個新選項卡? 具體來說,如何指定控制鍵以將“ 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

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

Selenium不支持標簽,但是請參見例如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}"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM