如何将RSelenium ALT + S中的同步密钥发送到网络驱动程序?

时间:2017-08-10 13:50:32

标签: r selenium selenium-webdriver automation keyboard

我想将两个同时键(例如ALT+S)发送到R Selenium webdriver的sendKeysToActiveElement(函数。我只看到Java和C中的实现。可以这样做吗?

3 个答案:

答案 0 :(得分:2)

如果要发送单个按键,请使用:

cl$sendKeysToActiveElement(sendKeys = list(key = "tab"))

如果您按两次以上击键,请使用:

cl$sendKeysToActiveElement(sendKeys = list(key = "alt", key = "S"))

答案 1 :(得分:1)

在R版本的Selenium中,有2种发送按键的方法。如上所述,第一种方法是通过在key参数中发送所需的按钮。第二种方法是发送不带key参数的原始UTF-8字符代码。通常,这是不希望的,因为很难记住所有代码,但是当想要同时输入按键时,这是我发现使其起作用的唯一方法,因为列表选项似乎确实是按顺序发送输入的。

在这种情况下,alt的UTF 8代码为\uE00a

s的UTF 8代码为\u0073

我们可以将它们合并为一个值,如下所示:

remDr$sendKeysToActiveElement(sendKeys = list("\uE00a\u0073"))

我不熟悉alt + s快捷方式,但这确实与shift + tab之类的东西一起使用,可以通过同时发送它们在浏览器中反向浏览不同的元素。

我还发现以下链接有助于查找实际的UTF 8代码:

http://unicode.org/charts/PDF/U0000.pdf

https://seleniumhq.github.io/selenium/docs/api/py/_modules/selenium/webdriver/common/keys.html

答案 2 :(得分:0)

使用以下代码: -

    String selectAll = Keys.chord(Keys.ALT, "s");
    driver.findElement(By.xpath("YOURLOCATOR")).sendKeys(selectAll);

希望它会对你有所帮助:)。