I removed the frame and created a simple html with a selectlist and saved it as sel.html
*Html:* *<html><table><tr><td>* *<SELECT size=1 name=filter> <OPTION selected value=""><OPTION value=Y>Active<OPTION value=N>In-Active</OPTION></SELECT>* *</td></tr></table></html>* * * *Watir Code* *require 'watir'* *require 'watir-classic'* *browser=Watir::Browser.start "file:///sel.html" #Specify complete path* *browser.select_list.select("Active")* *Response*: *C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.2.0/lib/watir-classic/element.rb:66:in `assert_exists': Unable to locate element, using {:tag_name=>["select"]} (Watir::Exception::UnknownObjectException)* * from C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.2.0/lib/watir-classic/element.rb:418:in `perform_action'* * from C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.2.0/lib/watir-classic/input_elements.rb:37:in `select'* * from sel.rb:4:in `<main>'* Note that the same html and the code worked fine on Ruby 1.8.7 and watir-2.0.4 On Thursday, October 18, 2012 2:54:26 PM UTC-4, Jarmo Pertman wrote: > > Your select is also inside of the frame. I don't see if Champ tried to run > that code directly inside of the frame or not, but can you try if that > makes any changes if you open the source of the frame in your browser and > then manipulate select directly inside of your browser and not a frame? > > J. > > On Thursday, October 18, 2012 8:31:11 PM UTC+3, Drake wrote: >> >> Further information: >> If you go to the browser and manually select the value, then run the >> code, it returns a successful value. >> If the value selected manually is anything but the one you want in the >> code, it freezes and errors out. >> Champ's solution of changing the input_elements.rb file worked for me as >> well. >> >> >> On Thursday, 18 October 2012 12:35:45 UTC-4, Drake wrote: >> >>> OK, so it looks like I'm having the same problem. >>> Frame: id="mainControlFrame" >>> List in the frame: >>> <select size="4" name="provList" id="provList" onChange="onChange()" >>> ondblclick="onOkClick()"> >>> <option value="9">Alberta</option> >>> <option value="10">British Columbia</option> >>> <option value="7">Manitoba</option> >>> <option value="4">New Brunswick</option> >>> <option value="1">Newfoundland</option> >>> <option value="6">Ontario</option> >>> </select> >>> There is an OK button below this in a table cell. >>> >>> watir code I'm using: >>> provsel.frame(:id, "mainControlFrame").select_list(:id, >>> "provList").select("New Brunswick") >>> provsel.frame(:id, "mainControlFrame").td(:text, "OK).click_no_wait >>> >>> There is code prior to this that runs smooth, but as soon as it hits the >>> "select" statement, the list box turns yellow, and nothing gets done. >>> Eventually, if I leave it long enough, I get the same error: Stack level >>> too deep. >>> On Wednesday, 17 October 2012 20:58:46 UTC-4, Champ wrote: >>> >>>> Ok. Here is the html for the select_list that was found. >>>> >>>> ======== searching >>>> ======== found: <SELECT style="BACKGROUND-COLOR: yellow" class=NORMDATA >>>> size=1 name=filter> <OPTION selected value=""><OPTION >>>> style="BACKGROUND-COLOR: yellow" value=Y>Active<OPTION >>>> value=N>In-Active</OPTION></SELECT> >>>> E >>>> >>>> =============================================================================== >>>> Error: test_01 >>>> SystemStackError: stack level too deep >>>> >>>> C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.2.0/lib/watir-classic/locator.rb:129 >>>> >>>> =============================================================================== >>>> >>>> On Wednesday, October 17, 2012 4:04:34 PM UTC-4, Jarmo Pertman wrote: >>>>> >>>>> Replace the "found" like to this: >>>>> puts "======== found: #{found_select.html}" >>>>> >>>>> Jarmo >>>>> >>>>> On Tuesday, October 16, 2012 7:49:11 PM UTC+3, Champ wrote: >>>>>> >>>>>> Jarmo, >>>>>> >>>>>> I tried with the code that you shared. The select_list does get >>>>>> identified but shows id: and not the element and I get the stack error >>>>>> message below. This might be the cause >>>>>> >>>>>> ****************************************************** >>>>>> ======== searching >>>>>> ======== found: id: >>>>>> E >>>>>> >>>>>> =============================================================================== >>>>>> Error: test_01 >>>>>> SystemStackError: stack level too deep >>>>>> >>>>>> C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.2.0/lib/watir-classic/locator.rb:129 >>>>>> >>>>>> On Tuesday, October 16, 2012 11:31:49 AM UTC-4, Jarmo Pertman wrote: >>>>>>> >>>>>>> That's just strange. I don't see any reasons why this code ought to >>>>>>> go turn into stack overflow. However if you change the line to >>>>>>> ole_object.focus then sometimes select list onChange event won't be >>>>>>> triggered. It would be awesome if you'd figure it out what exactly goes >>>>>>> into endless loop there and how to reproduce it. E.g. does the >>>>>>> select_list >>>>>>> itself get found in change_selected? You can find that out by changing >>>>>>> the >>>>>>> code to something like this: >>>>>>> >>>>>>> def change_selected(value) >>>>>>> puts "======== searching" >>>>>>> found_select = select_list >>>>>>> puts "======== found: #{found_select}" >>>>>>> found_select.focus >>>>>>> puts "======== focused" >>>>>>> ole_object.selected = value >>>>>>> puts "======== selected" >>>>>>> found_select.dispatch_event("onChange") >>>>>>> puts "======== dispatched" >>>>>>> @container.wait >>>>>>> puts "======== waiting done" >>>>>>> end >>>>>>> >>>>>>> Jarmo >>>>>>> >>>>>>> >>>>>>> On Monday, October 15, 2012 10:44:48 PM UTC+3, Champ wrote: >>>>>>>> >>>>>>>> After trying a long time, I figured that the cause of error is the >>>>>>>> change_selected method in the input_elements.rb. I am not sure if this >>>>>>>> impacts anything else. However, changing the select_list.focus to >>>>>>>> ole_object.focus seems to have resolved the issue for me. >>>>>>>> >>>>>>>> Any inputs/comments? >>>>>>>> >>>>>>>> On Monday, October 15, 2012 2:29:51 PM UTC-4, Jarmo Pertman wrote: >>>>>>>>> >>>>>>>>> Can you open up the url set in your iframe directly with watir and >>>>>>>>> try that select_list code directly without being in an iframe? Can >>>>>>>>> you try >>>>>>>>> if swapping the order of your select list codes will make any >>>>>>>>> difference - >>>>>>>>> e.g. if you try to select the failing select list first and then the >>>>>>>>> one >>>>>>>>> which passes currently? >>>>>>>>> >>>>>>>>> Also, set $DEBUG=true before that failing select list, maybe you >>>>>>>>> will get some other additional information. It is really hard to go >>>>>>>>> from >>>>>>>>> here if there's no additional information as to why it might be >>>>>>>>> happening >>>>>>>>> for you :( >>>>>>>>> >>>>>>>>> Jarmo Pertman >>>>>>>>> ----- >>>>>>>>> IT does really matter - http://itreallymatters.net >>>>>>>>> >>>>>>>>> >>>>>>>>> On Monday, October 15, 2012 4:59:47 PM UTC+3, Champ wrote: >>>>>>>>>> >>>>>>>>>> Changing the search_filter to a non-blank too shows the same >>>>>>>>>> error message. >>>>>>>>>> >>>>>>>>>> Not sure of how to go about this. There are quite a lot of >>>>>>>>>> select_lists in the application and this is a showstopper :(. >>>>>>>>>> >>>>>>>>>> On Sunday, October 14, 2012 5:12:21 AM UTC-4, Jarmo Pertman wrote: >>>>>>>>>>> >>>>>>>>>>> And this is the only line in the stacktrace? Strange. But maybe >>>>>>>>>>> it has something to do with the empy search_filter. Try to put >>>>>>>>>>> there >>>>>>>>>>> anything else to see if that makes any difference. >>>>>>>>>>> >>>>>>>>>>> Jarmo Pertman >>>>>>>>>>> ----- >>>>>>>>>>> IT does really matter - http://itreallymatters.net >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Saturday, October 13, 2012 7:59:09 PM UTC+3, Champ wrote: >>>>>>>>>>>> >>>>>>>>>>>> search_by="ARC" >>>>>>>>>>>> search_filter="" >>>>>>>>>>>> >>>>>>>>>>>> There is no backtrace to point to the origin of the message. >>>>>>>>>>>> Only error it shows is *SystemStackError: stack level too deep* >>>>>>>>>>>> * >>>>>>>>>>>> C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.2.0/lib/watir-classic/locator.rb:129 >>>>>>>>>>>> * >>>>>>>>>>>> * >>>>>>>>>>>> * >>>>>>>>>>>> Thats the reason I am finding it hard to debug. >>>>>>>>>>>> >>>>>>>>>>>> -Champ >>>>>>>>>>>> >>>>>>>>>>>> On Saturday, October 13, 2012 6:12:33 AM UTC-4, Jarmo Pertman >>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> What is the value of search_filter and search_by for example? >>>>>>>>>>>>> Also, please share the whole backtrace of that error and not the >>>>>>>>>>>>> one line. >>>>>>>>>>>>> >>>>>>>>>>>>> Jarmo Pertman >>>>>>>>>>>>> ----- >>>>>>>>>>>>> IT does really matter - http://itreallymatters.net >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Saturday, October 13, 2012 1:13:47 AM UTC+3, Champ wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> It is a normal selectlist and I use the following command. >>>>>>>>>>>>>> The page has 2 selectlists side by side. The first one gets >>>>>>>>>>>>>> selected and >>>>>>>>>>>>>> the second one hangs and shows the error. >>>>>>>>>>>>>> >>>>>>>>>>>>>> My watir code looks like this. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> @ie.frame(:id, "application_frame").select_list(:name, >>>>>>>>>>>>>> "searchcol").select(search_by) (This works fine) >>>>>>>>>>>>>> @ie.frame(:id, "application_frame").select_list(:name, >>>>>>>>>>>>>> "filter").select(search_filter) (This fails) >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Friday, October 12, 2012 3:20:15 PM UTC-4, Champ wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I am on Ruby 1.9.2 and watir-classic 3.2 >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I get the following error when I try to select an item from >>>>>>>>>>>>>>> the selectlist. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> The selectlist gets highlighted in yellow and then hangs. >>>>>>>>>>>>>>> Nothing happens. But after a while I see an error message as >>>>>>>>>>>>>>> below, without >>>>>>>>>>>>>>> indication of the origin of the error. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> * SystemStackError: stack level too deep* >>>>>>>>>>>>>>> * >>>>>>>>>>>>>>> C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.2.0/lib/watir-classic/locator.rb:129 >>>>>>>>>>>>>>> * >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> The fix to this is very critical. Any help in this regard is >>>>>>>>>>>>>>> greatly appreciated. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -Champ >>>>>>>>>>>>>>> >>>>>>>>>>>>>> -- Before posting, please read http://watir.com/support. In short: search before you ask, be nice. watir-general@googlegroups.com http://groups.google.com/group/watir-general watir-general+unsubscr...@googlegroups.com