我正试图通过水豚/硒在输入区域输入一个®。
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%的时间。
任何想法都表示赞赏!
答案 0 :(得分:1)
如果您需要做的就是使用发送键和Ruby按ALT + R,这就是您需要做的事情:
require 'win32ole'
skey = WIN32OLE.new('Wscript.Shell')
skey.sendKeys('%{r}')
使用ALT + V和硒测试了上述内容,它正在按预期工作。
如果您还需要进一步的帮助,请告诉我。
祝你好运!
PS。 (%代表ALT),(^是CTRL)