Ruby 使用selenium以编程方式与ace编辑器交互
我正在尝试使用Ruby 使用selenium以编程方式与ace编辑器交互,ruby,selenium-webdriver,watir,Ruby,Selenium Webdriver,Watir,我正在尝试使用seleniumwebdriver进行一些web抓取。 特定页面使用ace编辑器突出显示语法。问题是我可以使用 driver.get "http://codetable.org" elem = driver.find_element(:css, "#editor textarea") elem.send_keys "Hello" 但我无法清除输入的文本元素清除对页面没有影响 是否有某种方法可以通过编程方式删除屏幕上的文本?我怀疑这是因为ace添加了额外的css。 我使用的是rub
seleniumwebdriver
进行一些web抓取。
特定页面使用ace编辑器突出显示语法。问题是我可以使用
driver.get "http://codetable.org"
elem = driver.find_element(:css, "#editor textarea")
elem.send_keys "Hello"
但我无法清除输入的文本<代码>元素清除对页面没有影响
是否有某种方法可以通过编程方式删除屏幕上的文本?我怀疑这是因为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]
看起来,当一个值被输入到文本区域时,它被应用到另一个范围。文本区域总是有一个空白值,这解释了为什么
clear
不起作用
如果您想清除文本,我想您可能需要使用键盘快捷键-ctrl+a,然后删除。尝试:
elem.send_keys [:control, 'a'], :delete