4

我正在尝试使用selenium-webdriver. 特定页面使用 ace 编辑器进行语法高亮显示。问题是我可以使用

driver.get "http://codetable.org"
elem = driver.find_element(:css, "#editor textarea")
elem.send_keys "Hello"

但我无法清除曾经输入的文字。elem.clear对页面没有影响。

有什么方法可以以编程方式删除屏幕上的文本?我怀疑这是因为 ace 添加了额外的 css。我正在使用ruby 1.9.3.

我也试过这个

irb(main):035:0> driver.find_element(:css, ".ace_content").clear
Selenium::WebDriver::Error::UnknownError: Element must be user-editable in order to clear it.
    from [remote server]
4

1 回答 1

3

看起来当一个值输入到 textarea 时,它被应用到另一个 span。textarea 总是有一个空白值,这就解释了为什么clear似乎不起作用。

如果要清除文本,我认为您可能必须使用键盘快捷键 - ctrl+a 然后删除。尝试:

elem.send_keys [:control, 'a'], :delete
于 2012-12-27T21:53:16.963 回答