Yes, I have written about my desire for users not to need to know XPath before: http://watir.com/watir-6-2/#adjacent-element-location That framing did not end up in the documentation updates I just made, but likely deserves to be added.
Ideally that one page on element location gets split out into 10 pages (one for each of the unique Watir locators), with thorough exploration of examples and working code. https://github.com/watir/watir.github.io/issues/101 I'm tentatively thinking about pulling in all of the html code we use in our watirspecs onto the website, in order to have static pages to write examples with. We could then copy and paste a lot of existing code in the specs. On Saturday, August 12, 2017 at 11:12:54 AM UTC-5, Raja gopalan wrote: > > > Hi Titus, > > I read your recent document addition in WATIR site, it's looks great for a > new comer. but, > > I believe one of the biggest area WATIR has the advantage over Selenium > is, It's capacity to eliminate the xpath conversation, but how and when it > happened, it's not explained anywhere, I debugged the WATIR code and > understand it by myself. So a newcomer might not be aware of such an > wonderful feature. > > For an example, > > WATIR has never go for framing the xpath if the received locator is > available in selenium but it goes to create the xpath if the given locator > is not available in selenium. And I believe this has to be explained. For > an example, there are some key points has to explained which I cited below, > > If I write this code > > b.span(id: 'something').click > > > it's completely equivalent to writing > > b.element(id: 'something').click > > > calling span() function useless in this place because as soon as WATIR > sees the id it immediately goes to call the find_element function directly > by taking id locator like given below > > driver.find_element(id: 'something').click > > So wrapping up using span is useless here, I agree there are certain > places it's useful when someone wants to call specific function, so in this > case the required receiver is important like > > b.element(id: 'something').send_keys 'hi' > > With the above code one can't call set function, unless he calls the > text_field() function like > > b.text_field(id: 'something').set 'hi' > > > But in most of the cases it's not useful to call such a specific function, > but you may ask me like it anyhow is going to do the same job then why we > need to bother about that? Actually when we invoke this way > > b.span(id: 'something').click > > People might not be knowing the specific importance of calling span > function using WATIR, for an example, WATIR does a amazing Job if it's > called as given below > > b.span(text: 'something').click > > Here text locator is not available in selenium so WATIR is going to create > the xpath using the above code like > > driver.find_element(xpath: "//span[normalize-space()='something']).click > > Now the importance of calling b.span() becomes very clear and it's not > useless here, but such an important information is not available anywhere > So if it's included in the document, it would be great! > > What do you say? > -- -- Before posting, please read http://watir.com/support. In short: search before you ask, be nice. email@example.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.