Selenium TypeError:无法执行';创建nsresolver';在';文件';:参数1的类型不是';节点';

Selenium TypeError:无法执行';创建nsresolver';在';文件';:参数1的类型不是';节点';,selenium,cucumber,watir-webdriver,Selenium,Cucumber,Watir Webdriver,我正在使用Cucumber和Watir Web驱动程序以及Chrome浏览器。 当我执行测试时,有时会出现如下错误: “Selenium::WebDriver::Error::InvalidSelectorError:选择器无效:由于以下错误,无法找到xpath表达式为//a[包含(,'Joao Moreira')]的元素:” TypeError:未能对“文档”执行“CreateSresolver”:参数1不是“节点”类型。 (会话信息:chrome=43.0.2357.81) (驱动程序信息:

我正在使用Cucumber和Watir Web驱动程序以及Chrome浏览器。 当我执行测试时,有时会出现如下错误:

“Selenium::WebDriver::Error::InvalidSelectorError:选择器无效:由于以下错误,无法找到xpath表达式为//a[包含(,'Joao Moreira')]的元素:” TypeError:未能对“文档”执行“CreateSresolver”:参数1不是“节点”类型。 (会话信息:chrome=43.0.2357.81) (驱动程序信息:chromedriver=2.9.248315,平台=Windows NT 6.3 x86_64)


我试图通过谷歌获得答案,但没有成功。

我很确定这就是问题所在:


从硒2.46.0开始固定。自从移动之后,我还没有看到错误。

添加一行来处理抛出的异常。似乎错误停止了测试。这与定位器或iframe无关。请尝试在rescue子句中包装您的方法:

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

这里也一样:绝对是零星的,在升级到selenium 2.45后很快就注意到了,我在运行2.44和Chromedriver 2.14和2.15时也有过这种情况。我的感觉是,当Chrome出于兴趣升级到43时发生了这种情况,浏览器在这种情况下做什么有模式吗?在我的例子中,它只是在框架窗口之间切换,以添加数据点:Selenium 2.46和Chrome 44,这是零星的,但足够频繁。