【问题标题】:TypeError: Failed to execute 'createNSResolver' on 'Document': parameter 1 is not of type 'Node'TypeError:无法在“文档”上执行“createNSResolver”:参数 1 不是“节点”类型
【发布时间】:2015-08-18 22:26:37
【问题描述】:

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

"Selenium::WebDriver::Error::InvalidSelectorError: 无效选择器:由于以下错误,无法使用 xpath 表达式 //a[contains(., 'Joao Moreira')] 定位元素: TypeError:无法在“文档”上执行“createNSResolver”:参数 1 不是“节点”类型。 (会话信息:chrome=43.0.2357.81) (驱动信息: chromedriver=2.9.248315,platform=Windows NT 6.3 x86_64)"

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

【问题讨论】:

  • 这里也一样:肯定是零星的,升级到 selenium 2.45 后不久就注意到了
  • 我在运行 2.44 以及 Chromedriver 2.14 和 2.15 时遇到过这个问题。我的感觉是 Chrome 升级到 43 时发生的
  • 出于兴趣,当这种情况发生时,浏览器的行为是否有规律?
  • 在我的情况下,它是在框架窗口之间切换
  • 只是添加数据点:Selenium 2.46 和 Chrome 44,它是零星的,但经常足够。

标签: selenium cucumber watir-webdriver


【解决方案1】:

很确定这是这里的问题:https://code.google.com/p/selenium/issues/detail?id=8600

从 Selenium 2.46.0 开始,它已被修复。搬家后就没有看到这个错误了。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-01-26
      • 1970-01-01
      • 2015-01-20
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 2021-02-19
      • 1970-01-01
      • 2021-12-04
      相关资源
      最近更新 更多