10
votes

I'm using Cucumber with Watir Web-driver and Chrome browser. When I execute my tests, sometimes there is an error like this:

"Selenium::WebDriver::Error::InvalidSelectorError: invalid selector: Unable to locate an element with the xpath expression //a[contains(., 'Joao Moreira')] because of the following error: TypeError: Failed to execute 'createNSResolver' on 'Document': parameter 1 is not of type 'Node'. (Session info: chrome=43.0.2357.81) (Driver info: chromedriver=2.9.248315,platform=Windows NT 6.3 x86_64)"

I tried to get an answer trough Google but with no success.

2
same here: definitely sporadic, noticed it soon after upgrading to selenium 2.45 - Jon Nelson
I have had this while running 2.44, and with Chromedriver 2.14 and 2.15. My feeling is that it happened when Chrome upgraded to 43 - Robbie Wareham
Out of interest, is there a pattern on what the browser is doing when this occurs? - Robbie Wareham
In my case it is switching between frame windows - Nicholas DiPiazza
Just to add data points: Selenium 2.46 and Chrome 44 and it is sporadic but often enough. - ReneS

2 Answers

1
votes

Pretty sure this is this issue here: https://code.google.com/p/selenium/issues/detail?id=8600

And it is fixed as of Selenium 2.46.0. I haven't seen the error since moving.

0
votes

Add a line to handle the exception thrown. Seems like the error halts the test. This has nothing to do with the locator, or iframe.Try to wrap your method in rescue clause:

begin
 {your method}
rescue
     Selenium::WebDriver::Error::InvalidSelectorError
end