Selenium Webdriver Ruby Send_keys控制字符

时间:2013-04-12 14:40:20

标签: ruby selenium

我正试图通过水豚/硒在输入区域输入一个®。

firefox browser
capybara (2.1.0)
selenium-webdriver (2.32.1)

我相信我应该能够send_keys [:alt,'r']?

最新版本的selenium-webdriver + ruby​​是否破损?因为发送任何复杂的sendkeys给了我这个:

>> field.native.send_keys 'b','c',[:control, 'a'], 'a'                                                                                                     

>> Selenium::WebDriver::Error::UnknownError: JSON.parse: unterminated string literal

一点背景: 我曾经通过JS做到这一点,但出于某种原因,每当我通过execute_script运行很多JS时,它会在大约50%的时间内提供一个script_unresponsive警告框。我一直在调整浏览器上的超时,这是一个硬锁(永远)。我们有一个非常复杂的应用程序,我花了很多时间进行调查。所以我试图在没有javascript的情况下这样做 - 因为出于某种原因,我的cukes开始通过/失败50%的时间。

任何想法都表示赞赏!

1 个答案:

答案 0 :(得分:1)

如果您需要做的就是使用发送键和Ruby按ALT + R,这就是您需要做的事情:

require 'win32ole'
skey = WIN32OLE.new('Wscript.Shell')

skey.sendKeys('%{r}') 

使用ALT + V和硒测试了上述内容,它正在按预期工作。

如果您还需要进一步的帮助,请告诉我。

祝你好运!

PS。 (%代表ALT),(^是CTRL)