Since the xpath does have access to the relative url, there's probably a way to get the original url?
Otherwise, we could write code to resolve the relative url (i.e. remove the base url which we have)? It's actually the work around I was planning to implement until this gets fixed :) Alok On 4/14/11 11:22 PM, "Jarmo" <[email protected]> wrote: >I think that this is the default behavior of IE and there's nothing we >can do really. Or is there? Jari, remind me, how watir-webdriver works in >that situation. I remember that there was the exact same problem. > >Jarmo > >On Fri, Apr 15, 2011 at 8:58 AM, Alok Menghrajani <[email protected]> wrote: > > >Hi all, > >It seems IE & firefox don't deal with relative paths in the same way. > >Given the following page: ><html> > <body> > <a href="/foo.html">hello</a> > </body> ></html> > >Here is a comparison of various ways to get the link: > >On IE 8: >- Ie fails with: browser.link(:href, '/foo.html').exists? > >- Ie works with: browser.link(:href, /foo.html/).exists? > >- Ie works with: browser.link(:xpath, "//a[@href='/foo.html']").exists? > >- Ie fails with: browser.element(:xpath, "//a[@href='/foo.html']").exists? > Watir::Exception::MissingWayOfFindingObjectException: xpath is an >unknown way of > finding a <*> element (//a[@href='/foo.html']) > >- Ie fails with: >browser.element_by_xpath("//a[@href='/foo.html']").exists? > WIN32OLERuntimeError: unknown property or method `exists?' > HRESULT error code:0x80020006 > Unknown name. > > >On Firefox: >- firwfox works with: browser.link(:href, '/foo.html').exists? > >- firefox works with: browser.link(:href, /foo.html/).exists? > >- firefox works with: browser.link(:xpath, >"//a[@href='/foo.html']").exists? > >- firefox fails with: browser.element(:xpath, >"//a[@href='/foo.html']").exists? >NoMethodError: undefined method `element' for >#<FireWatir::Firefox:0x1015426d8> > >- firefox works with: >browser.element_by_xpath("//a[@href='/foo.html']").exists? > > > >It seems like IE converts the relative url into absolute (at least that's >what I'm seeing when I do browser.link(:href, /foo.html).to_s. Is there >any easy way to get the original relative url? It would be nice to fix the >behavior to be consistent across browsers :) > >I do have a unittest for all this. Should I put it in watir/unittests or >commonwatir/unittests ? > >Alok > >_______________________________________________ >Wtr-development mailing list >[email protected] >http://rubyforge.org/mailman/listinfo/wtr-development > > > > > _______________________________________________ Wtr-development mailing list [email protected] http://rubyforge.org/mailman/listinfo/wtr-development
