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 <[email protected]> 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.
>
> [email protected]
> http://groups.google.com/group/watir-general
> [email protected]
> ---
> 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 [email protected].
> 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.

[email protected]
http://groups.google.com/group/watir-general
[email protected]
--- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to