Also, to clarify. In Watir `#set` is combination of `#clear` and 
`#send_keys` for text editable elements. Everything that works for 
Selenium's `#send_keys` will work for Watir's `#set`, so  just make sure 
you are using the method you need.


On Friday, February 17, 2017 at 11:50:34 AM UTC-6, Super Kevy wrote:
>
> Sounds resolved
> So it looks like you need to send a tab as the control probably has an 
> onblur JS event tied to it.
> So with send_keys you can include special keys like :Home :Shift :End to 
> select and :tab to move to the next focus
> I believe you can even add delays in the send_keys stream.  
>
> browser.text_field.send_keys "hello", [:control, "a"], :backspace
>
> See: 
> https://watirmelon.blog/2011/07/19/sending-special-keys-to-watir-webdriver/
>
> http://www.rubydoc.info/github/watir/watir-classic/Watir%2FElement%3Asend_keys
>
>
>
> On Friday, February 17, 2017 at 5:36:11 AM UTC-6, Raja gopalan wrote:
>>
>> Hi Titus,
>>
>> Sorry for late reply! Your code which has been given in Stackoverflow is 
>> a good catch but you are missing the crucial point that watir 
>> text_field.set() method doesn't includes the tab So refresh doesn't start 
>> until it moves on to the next field. 
>>
>> But what happens actually is, I am writing the following code
>>
>> b.text_field(:id,'insuranceAmountVO@amount').set '12121'
>>
>>
>> But this code  doesn't enter the date there instead, it continue to 
>> locate that element and keep refreshing the page continuously without an 
>> end. I have never seen this behavior so far. 
>>
>> If I use this code(given below) send_keys instead of set
>>
>> b.text_field(:id,'insuranceAmountVO@amount').send_keys '12121'
>>
>>
>> It appends this value with already existing value in the text field. So 
>> it's not entering the intended data as well. 
>>
>> But all I want to say is, we are now using selenium using Java, it 
>> perfectly enters the data but NOT using the below code
>>
>> driver.findElement(By.id("insuranceAmountVO@amount").send_keys "12121"
>>
>>
>> but using this customized code it enters perfectly
>>
>> selenium.typeAndTab "12121"
>>
>>
>> I went inside this function, but it's very huge and I couldn't figure out 
>> what they are doing. 
>>
>> And I have the select_list problem too but I will create a separate 
>> question for that. Our selenium framework selects successfully but Watir 
>> doesn't! (I will create separate thread for that)
>>
>>
>>  
>>
>> On Tuesday, February 14, 2017 at 11:49:32 PM UTC+5:30, Titus Fortner 
>> wrote:
>>>
>>> I updated my response on stack overflow if you didn't see it.
>>>
>>> On Tue, Feb 14, 2017 at 9:50 AM, Super Kevy <[email protected]> wrote:
>>>
>>>> So the issue occurs manually as well.  That suggests maybe there is a 
>>>> bug. Perhaps bad JS validation or field validation. 
>>>> You can always put a static sleep as a work-around. Not elegant.   
>>>> Change the sets to send keys and see if the behaviour alters.
>>>>
>>>>
>>>> On Monday, February 13, 2017 at 12:10:45 PM UTC-6, Raja gopalan wrote:
>>>>>
>>>>> Hi, I have replied to your post, I will page here as well
>>>>>
>>>>> Yes, that's what happen when we enter manually as well! 
>>>>>
>>>>> I have posted in stack over flow as well. But here I want to details 
>>>>> things, I am working in a insurance application, where cover screen 
>>>>> consist 
>>>>> of many textfield to enter insured amount, but after each entry to the 
>>>>> text 
>>>>> field, page is getting refreshed,but watir doesn't wait for page to be 
>>>>> refreshed, it quickly goes into next text_field, but next field is not 
>>>>> ready but watir enters the data, since page is getting refreshed in the 
>>>>> mean time recent entry is getting deleted. This refresh is not happening 
>>>>> not only text_field but for radio button as well(which cover to choose). 
>>>>>
>>>>> I thought there is no solution to the problem but recently I have 
>>>>> moved to selenium project where they have clearly managed this problem 
>>>>> through JavaScript, they have a function called waitForPageToLoad, so 
>>>>> after 
>>>>> each entry they have called this function, So it waits until the page 
>>>>> loads, It perfectly enters the data. So I thought I was missing the same 
>>>>> kind of arrangement in WATIR, So If you can create the function called 
>>>>> waitForPageToLoad, this would resolve this problem. 
>>>>>
>>>>>
>>>>> On Monday, February 13, 2017 at 11:35:09 PM UTC+5:30, Titus Fortner 
>>>>> wrote:
>>>>>>
>>>>>> Is that what happens when you do it manually? Watir is designed to 
>>>>>> behave the same way as a user. You'll need to better explain what a user 
>>>>>> would do and how Watir is not doing it that way.
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Monday, February 13, 2017 at 12:01:55 PM UTC-6, Raja gopalan wrote:
>>>>>>>
>>>>>>> My problem is after setting the value. Page is getting refreshed 
>>>>>>> after setting the value. 
>>>>>>>
>>>>>>> On Monday, February 13, 2017 at 9:09:18 AM UTC+5:30, Joe Fl wrote:
>>>>>>>>
>>>>>>>> Hi.
>>>>>>>>
>>>>>>>> I am not sure I follow what happens after the field is set but if 
>>>>>>>> you need to wait for the text field you can use wait_until_present or 
>>>>>>>> .present?.
>>>>>>>>
>>>>>>>> Joe
>>>>>>>>
>>>>>>>> On Feb 11, 2017 10:21 AM, "Raja gopalan" <[email protected]> 
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>> There are certain kind of a text_field which I am automating, when 
>>>>>>>> I place the value there like
>>>>>>>>
>>>>>>>> b.text_field(:id,'something').set 'hi'
>>>>>>>>
>>>>>>>>
>>>>>>>> It refresh the entire page or it reloads the page, but the above 
>>>>>>>> code only wait until element present and place the value inside the 
>>>>>>>> text 
>>>>>>>> field but it doesn't take care of what happens after that. 
>>>>>>>>
>>>>>>>> Is there any function I can write like given below,
>>>>>>>>
>>>>>>>>  
>>>>>>>> b.text_field(:id,'something').set 'hi'
>>>>>>>>
>>>>>>>> b.waitForPageToLoad # Code like this?
>>>>>>>>
>>>>>>>> -- 
>>>>>>>> -- 
>>>>>>>> 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]
>>>>>>>>
>>>>>>>> --- 
>>>>>>>> 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 http://watir.com/support. 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 http://watir.com/support. 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