Why one should prefer using CSS over XPath in IE?


I am working on an application which is compatible only with IE7 and IE8. I didn’t know why but some suggested to use CSS over XPath while identifying the elements in IE. When I visited the official Selenium site. I read the message

WebDriver uses a browser’s native XPath capabilities wherever possible. On those browsers that don’t have native XPath support, we have provided our own implementation. This can lead to some unexpected behaviour unless you are aware of the differences in the various xpath engines.

I would like to know where I can find the differences in the various xpath engines and in which situations I should use CSS and and in which XPath specifically if I’m using IE. Thanks.

  • You must to post comments

According to Ashley Wilson’s report from sauce labs:


  1. They’re faster
  2. They’re more readable
  3. CSS is jQuery’s locating strategy
  4. No one else uses XPATH anyways!

It’s a bit outdated, however here are the numbers:

image from cause lab's web site

Personally, I would argue about (2)-nd statement, I must agree with the rest.


  1. No “bottom up” navigation. XPath has elem\..\another_elem
  2. Is Sizzle injected? Or Browser’s CSS locator parser is used? Depends on the browser, and there are inconsistencies.
  • You must to post comments
Showing 1 result
Your Answer
Post as a guest by filling out the fields below or if you already have an account.