Hi, your code is not working for me. Here is the Html 

On Wednesday, 29 May 2019 20:59:59 UTC+5:30, Justin Ko wrote:
>
> Which is the working one? The code appears to be the same for both the 
> working and not working one.
>
> I assume that the working one is the original :xpath locator you were 
> trying to convert. If that's the case, I would guess you are running into 
> how Watir returns the first match of each individual method call rather 
> than the first matching the entire series of chained methods.
>
> For example, your Watir code should work for:
>
> <html>
>   <body>
>     <label title="Subject">Label</label>
>     <div><lf-select><div><span>Value</span></div></lf-select></div>
>   </body>
> </html>
>
> But it will not work for:
>
> <html>
>   <body>
>     <label title="Subject">Label</label>
>     <div>another</div>
>     <div><lf-select><div><span>Value</span></div></lf-select></div>
>   </body>
> </html>
>
> Notice in the failed page that there is an extra div between the label and 
> div containing lf-select. The code, label(title: 'Subject').
> following_sibling(tag_name: 'div'), finds the first sibling of the label, 
> regardless of whether it contains the lf-select. In contrast, the :xpath 
> locator does consider the div children and therefore ignores the first 
> sibling.
>
> Assuming you are in the second example, you will need to tell Watir more 
> specifically which following sibling you need. 
>
> I suppose the closest representation to the XPath, would be to iterate 
> over the siblings until you find the one with the lf-select:
>
> browser.label(title: 'Subject').following_siblings(tag_name: 'div')
>   .find { |e| e.element(tag_name: 'lf-select').exists? }
>   .element(tag_name: 'lf-select').div.span.text
>
> If you know the exact position of the sibling you could simplify this to:
>
> browser.label(title: 'Subject').following_sibling(tag_name: 'div', index: 
> 1).element(tag_name: 'lf-select').div.span.text
>
> #following_sibling accepts the usual locators, so you could use whatever 
> identifiable attributes it has.
>
> Justin
>
>
> On Wednesday, May 29, 2019 at 3:10:58 AM UTC-4, rajagopalan madasami wrote:
>>
>> I have written the following code
>>
>> b.label(title: 'Subject').following_sibling(tag_name: 
>> 'div').element(tag_name: 'lf-select').div.span.click
>>
>>
>>
>> It throws this error of element not present
>>
>> But this one
>>
>> b.label(title: 'Subject').following_sibling(tag_name: 
>> 'div').element(tag_name: 'lf-select').div.span.click
>>
>>
>>
>> works fine.
>>
>>
>> On Tuesday, 28 May 2019 19:52:13 UTC+5:30, Titus Fortner wrote:
>>>
>>> I'd need to see the underlying html to know for sure, but it looks like 
>>> you want to specify the tag name of the following sibling 
>>> `following_sibling(tag_name: 'div')`
>>>
>>>
>>>
>>> On Tuesday, May 28, 2019 at 8:45:37 AM UTC-5, rajagopalan madasami wrote:
>>>>
>>>> Justin,
>>>>
>>>> Can you please help me to write this code in watir?
>>>>
>>>> b.span(xpath: 
>>>> "//label[@title='Subject']/following-sibling::div/lf-select/div/span").click
>>>>
>>>>
>>>> I have tried this
>>>>
>>>> b.label(title: 'Subject').following_sibling.element(tag_name: 
>>>> 'lf-select').div.span.click
>>>>
>>>> But it's not working. 
>>>>
>>>> Can you help me here?
>>>>
>>>>
>>>> On Tuesday, 28 May 2019 18:56:52 UTC+5:30, Justin Ko wrote:
>>>>>
>>>>> For custom elements, you will need to use the #element method:
>>>>>
>>>>> b.element(tag_name: 'lf-select')
>>>>>
>>>>> Justin
>>>>>
>>>>>
>>>>> On Tuesday, May 28, 2019 at 1:15:05 AM UTC-4, rajagopalan madasami 
>>>>> wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I have a custom tag named `lf-select`
>>>>>>
>>>>>> Can't I call in WATIR like
>>>>>>
>>>>>> b.lf_select()
>>>>>>
>>>>>> Or something like that? Or Is there anyway?
>>>>>>
>>>>>

-- 
-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/watir-general/14c018b2-a5de-440f-a004-5b37915a68a7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to