【问题标题】: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”列出。请参阅示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-17
      • 2015-01-28
      • 1970-01-01
      • 1970-01-01
      • 2016-02-08
      • 2021-09-13
      • 1970-01-01
      相关资源
      最近更新 更多