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.