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

Reply via email to