2012-12-27 140 views
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] 

回答

3

它看起來當值輸入到textarea的喜歡,它是適用於另一個跨度。 textarea總是有一個空白值,這就解釋了爲什麼clear不起作用。

如果你想清除的文字,我想你可能需要使用鍵盤快捷鍵 - CTRL + A,然後刪除。嘗試:

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

謝謝,這工作。 – nikhil