【问题标题】:Why does document.evaluate succeed in Firebug but fail in Selenium?为什么 document.evaluate 在 Firebug 中成功但在 Selenium 中失败?
【发布时间】:2009-10-22 12:03:17
【问题描述】:

selenium 中的browser.getEval 函数使iterateNext 返回null ..否则在firebug 中它返回一个值(相同的脚本)

document.evaluate("//button[text()='Save']",
                  document, 
                  null,
                  XPathResult.ANY_TYPE,
                  null)
        .iterateNext()
        .disabled;

返回真

但是

browser.getEval("document.evaluate(\"//button[text()='Save']\", 
                                     document,
                                     null,
                                     XPathResult.ANY_TYPE,
                                     null)
                         .iterateNext()
                         .disabled;");

将该错误返回为:

“com.thoughtworks.selenium.SeleniumException: 错误: 抛出异常: res.iterateNext() 为空”

【问题讨论】:

    标签: selenium dom xpath document.evaluate


    【解决方案1】:

    尝试将document.evaluate 替换为this.browserbot.getUserWindow().document.evaluate

    【讨论】:

    • 您使用的是 Selenium IDE 还是 RC?如果是 RC,您使用的是什么客户端语言?也许您可以提供更多示例代码。
    【解决方案2】:
    window.document.evaluate()
    

    【讨论】:

      【解决方案3】:

      尝试替换

      document.evaluate
      

      selenium.browserbot.getCurrentWindow().document.evaluate
      

      【讨论】:

        猜你喜欢
        • 2010-09-20
        • 2013-02-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多