【问题标题】:How to release a keypress in Rselenium如何在 Rselenium 中释放按键
【发布时间】:2018-04-07 02:08:56
【问题描述】:
我尝试成功按下控制键:
rD <- rsDriver (browser = 'chrome',chromever = "latest",port = 4445L)
chrome_client <-rD$client
chrome_client$sendKeysToActiveElement(list(key = "control"))
但问题是我无法释放此键,因此如果我单击另一个链接,它会创建一个新标签。
我在 google 和 stackoverflow 上进行了搜索,但还没有找到 Rselenium 的解决方案。
【问题讨论】:
标签:
r
selenium
web-scraping
rselenium
【解决方案1】:
它不在文档中,但我尝试再次按下控制键,而另一次按下释放了按键。
示例:
无需按两次,将打开一个新选项卡。但是用sendKeysToActiveElement()按两次控制释放按键,它不会创建一个新标签。
rD <- rsDriver (browser = 'chrome',chromever = "latest",port = 4445L)
chrome_client <-rD$client
chrome_client$navigate("https://www.google.com/")
chrome_client$sendKeysToActiveElement(list(key = "control"))
ele_gmail <- chrome_client$findElement(using = "partial",value = "Gmail")
chrome_client$sendKeysToActiveElement(list(key = "control")) #press the same key again to release the keypress
ele_gmail$clickElement()
奇怪的是它不在文档中。
sendKeysToActiveElement(sendKeys) 的文档:
向活动元素发送一系列击键。除了隐式终止之外,该命令在各个方面都类似于 send keys 命令:在调用结束时不释放修饰符。相反,修改键的状态在调用之间保持不变,因此可以在按下修改键时执行鼠标交互。击键作为列表发送。纯文本作为列表的未命名元素输入。键盘条目在“selKeys”中定义,并应以名称“key”列出。请参阅示例。