1

我正在尝试通过 capybara / 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 的情况下做到这一点 - 因为由于某种原因,我的杯子开始有 50% 的时间通过/失败。

任何想法表示赞赏!

4

1 回答 1

1

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

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

skey.sendKeys('%{r}') 

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

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

祝你好运!

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

于 2013-04-15T10:21:33.520 回答