after any action that changes or is likely to change the dom, so it can get
heavy if overused. The Executor class when implemented will open up a lot
more flexibility.




On Tue, Aug 7, 2018, 9:27 AM <rajagopalanmadas...@gmail.com> wrote:

> Ah! that's pretty interesting, I was not knowing this. So you say Once I
> have written this code, this code will be executed after every click I do?
>
> On Tuesday, August 7, 2018 at 9:54:17 PM UTC+5:30, Titus Fortner wrote:
>>
>> jquery_wait = lambda { |br| br.wait_until { |b| b.execute_script('return
>> jQuery.active == 0') } } browser.after_hooks.add(jquery_wait)
>>
>> On Tuesday, August 7, 2018 at 9:17:32 AM UTC-7, rajagopal...@gmail.com
>> wrote:
>>>
>>> Hi Justin,
>>>
>>> We are also using this wait_for_ajax in one of our Project. You said
>>>
>>> I would suggest adding the jQuery.active check to your browser's
>>>> after_hooks. Ideally this would catch all (or at least most) of the
>>>> problems.
>>>>
>>>
>>> May I know how to do this?
>>>
>>> On Tuesday, August 7, 2018 at 9:37:42 PM UTC+5:30, Justin Ko wrote:
>>>>
>>>> The #wait_for_ajax simplifies things if you need to manually call it.
>>>> However, it sounds like you would have to sprinkle this everywhere.
>>>>
>>>>
>>>
>>>>
>>>> Note that there would be a small performance hit of making this check
>>>> after each click/goto. However, if it's an AJAX heavy application, it's
>>>> probably worth it.
>>>>
>>>> Justin
>>>>
>>>>
>>>> On Tuesday, August 7, 2018 at 11:36:54 AM UTC-4, Titus Fortner wrote:
>>>>>
>>>>> Found it
>>>>>
>>>>> See the section on Waiting for AJAX Calls here:
>>>>> http://cheezyworld.com/2012/02/23/page-object-0-6-2-released/
>>>>> let's you call `wait_for_ajax` where you want it.
>>>>>
>>>>>
>>>>> On Tue, Aug 7, 2018 at 7:43 AM NaviHan <hishin...@gmail.com> wrote:
>>>>> >
>>>>> > Yes Justin, That was exactly what happened. I ran the script a few
>>>>> times and using "Watir::Wait.until(timeout: 30)
>>>>> {@browser.execute_script('return jQuery.active == 0')}" never gave me the
>>>>> error "
>>>>> >
>>>>> > Element <span class="swatchanchor-value">...</span> is not clickable
>>>>> at point (537, 362). Other element would receive the click: <div
>>>>> class="loader-bg"></div>"
>>>>> >
>>>>> >
>>>>> > The code is
>>>>> >
>>>>> > def select_online_size (size)
>>>>> >   Watir::Wait.until(timeout: 30) {@browser.execute_script('return
>>>>> jQuery.active == 0')}
>>>>> >   sizes_online_elements.find {|el| el.when_present.text.eql?
>>>>> size}.click
>>>>> > end
>>>>> >
>>>>> > I was expecting that the "when_present" method would not give any
>>>>> timing issue because this waits until the element is present. Somehow this
>>>>> evaulates to true at the same time the spinner which is loading while the
>>>>> Ajax is running receives the click.
>>>>> >
>>>>> >
>>>>> > Is there a PO way to resolve this , I mean without having to use the
>>>>> "jQuery" statement
>>>>> >
>>>>> >
>>>>> > Cheers
>>>>> >
>>>>> > Navi
>>>>> >
>>>>> > On Friday, 3 August 2018 15:12:45 UTC+10, NaviHan wrote:
>>>>> >>
>>>>> >> I have a functionality where I click an a link from an email a
>>>>> voucher gets added to the shopping cart and a pop up appears with a
>>>>> message. Im trying to assert the text in the popup
>>>>> >> I have defined the element as
>>>>> >>
>>>>> >> div(:cta_description, :css =>
>>>>> '.homepage-clicktoactiavte-description')
>>>>> >>
>>>>> >> Tried to use a mix of Watir and Pageobejct to read the text. The
>>>>> below code works 5 out of 10 times.
>>>>> >>
>>>>> >> @rewards_popup_txt =
>>>>> Watir::Wait.until{cta_description_element}.text
>>>>> >> @rewards_popup_txt = @rewards_popup_txt.gsub(/[^$,.A-Za-z0-9]/," ")
>>>>> >> return @rewards_popup_txt
>>>>> >>
>>>>> >>
>>>>> >> Tried using, which doesnt even set the @reward_popup_txt and shows
>>>>> error
>>>>> >>
>>>>> >>
>>>>> >> if (Watir::Wait.while {cta_description_element.visible?})
>>>>> >>   @rewards_popup_txt = cta_description_element.text
>>>>> >> end
>>>>> >> @rewards_popup_txt = @rewards_popup_txt.gsub(/[^$,.A-Za-z0-9]/," ")
>>>>> >> return @rewards_popup_txt
>>>>> >>
>>>>> >> Error
>>>>> >> NoMethodError: undefined method `gsub' for nil:NilClass
>>>>> >> ./features/support/pages/Frontend/Cotton_On/Loyalty_Page.rb:22:in
>>>>> `rewards_popup_description'
>>>>> >>
>>>>> >> Any stable way to do the job?
>>>>> >
>>>>> > --
>>>>> > --
>>>>> > Before posting, please read
>>>>> https://github.com/watir/watir_meta/wiki/Guidelines-for-Posting-to-Watir-General-Google-Group.
>>>>>
>>>>> > In short: search before you ask, be nice.
>>>>> >
>>>>> > watir-...@googlegroups.com
>>>>> > http://groups.google.com/group/watir-general
>>>>> > watir-genera...@googlegroups.com
>>>>> > ---
>>>>> > You received this message because you are subscribed to the Google
>>>>> Groups "Watir General" group.
>>>>> > To unsubscribe from this group and stop receiving emails from it,
>>>>> send an email to watir-genera...@googlegroups.com.
>>>>> > For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>> --
> --
> Before posting, please read
> https://github.com/watir/watir_meta/wiki/Guidelines-for-Posting-to-Watir-General-Google-Group.
>
> In short: search before you ask, be nice.
>
> watir-general@googlegroups.com
> http://groups.google.com/group/watir-general
> watir-general+unsubscr...@googlegroups.com
> ---
> You received this message because you are subscribed to the Google Groups
> "Watir General" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to watir-general+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
-- 
Before posting, please read 
https://github.com/watir/watir_meta/wiki/Guidelines-for-Posting-to-Watir-General-Google-Group.
 
In short: search before you ask, be nice.

watir-general@googlegroups.com
http://groups.google.com/group/watir-general
watir-general+unsubscr...@googlegroups.com
--- 
You received this message because you are subscribed to the Google Groups 
"Watir General" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to watir-general+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to