#click_no_wait returning nil is a correct behavior. Open up the page
in your browser where that button is and then open up an irb session
and try this:
require "watir"
b = Watir::Browser.attach :title, /title/
b.button(:unique_number, 1).click

Does that do anything or does it throw the same error message as with
#click_no_wait?

If it stays blocking then open up yet another irb session (because the
previous is unusable due to blocking) and try again to set $DEBUG=true
and perform #click_no_wait to see the handle to the IE.

Now attach again to the window and see if that hwnd matches to your
window's hwnd:
b = Watir::Browser.attach :title, /title/
# verify that you have the correct window
b.title
b.url

# now verify that the hwnd matches to the hwnd used by #click_no_wait
b.hwnd

# now try the attach command by #click_no_wait
b = Watir::IE.attach(:hwnd, THE_HWND)
# try to access the button
b.button(:unique_number, 1).html

Jarmo Pertman
-----
IT does really matter - http://www.itreallymatters.net


On Nov 24, 11:50 am, Arto Vuori <[email protected]> wrote:
> Hi Kushal,
>
> I'm having exactly the same problem and I have not found a working
> solution.
> I have a need to open and interact with a modal dialog. However,
> click_no_wait simply returns nil.
>
> -- A. Vuori
>
> On 21 marras, 20:29, Kushal <[email protected]> wrote:
>
>
>
>
>
>
>
> > Hi all,
>
> > I am stuck in this problem for three days now. I need to open a modal
> > dialog from a button on a webpage. When I use click or
> > fire_event("onclick"), execution just hangs. This is understandable as
> > it waits for work to be completed on the modal dialog.
>
> > Therefore, I am trying to useclick_no_wait, but it returns nil. I
> > made some changes in theclick_no_waitfunction, to display the call
> > by adding puts command on line 249 and replaced "start rubyw
> > #{command}" with "rubyw #{command}"
>
> > I get the following error on the console:
>
> > c:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.7/lib/watir/element.rb:58:in
> > `assert_exists': Unable to locate element, using :unique_number, 1
> > (Watir::Exception::UnknownObjectException)
> >         from c:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.7/lib/watir/
> > element.rb:263 :in `click!' from -e:1
>
> > The command that is executed in the above call is:
>
> > ruby -e "require 'rubygems';require 'c:/ruby/lib/ruby/gems/1.8/gems/
> > watir-1.6.7/lib/watir/core';Watir::Button.new(Watir::IE.attach(:hwnd,
> > 656538), :unique_number, 1).click!"
>
> > Also, I read this article (http://jira.openqa.org/browse/WTR-144)
> > which describes how fire_event_no_wait could be added to element.rb
> > for fire_event("onmousedown") with no wait. However,
> > eval_in_spawned_process method is not present in PageContainer module
> > in Watir 1.6.7.
>
> > Thanks.
>
> > Kushal

-- 
Before posting, please read http://watir.com/support. In short: search before 
you ask, be nice.

[email protected]
http://groups.google.com/group/watir-general
[email protected]

Reply via email to