加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 以编程方式使用selenium与ace编辑器交互

发布时间:2020-12-17 02:19:59 所属栏目:百科 来源:网络整理
导读:我正在尝试使用selenium-webdriver进行一些网络抓取. 特定页面使用ace编辑器进行语法突出显示.问题是我可以使用输入文本 driver.get "http://codetable.org"elem = driver.find_element(:css,"#editor textarea")elem.send_keys "Hello" 但我无法清除曾经输
我正在尝试使用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]

解决方法

看起来当一个值输入到textarea时,它应用于另一个跨度. textarea总是有一个空白值,这解释了为什么clear不起作用似乎做任何事情.

如果你想清除文本,我想你可能不得不使用键盘快捷键 – ctrl a然后删除.尝试:

elem.send_keys [:control,'a'],:delete

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读