为什么document.evaluate在Firebug中成功但在Selenium中失败?

时间:2009-10-22 12:03:17

标签: selenium dom xpath document.evaluate

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

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

返回true

但是

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

将该错误返回为:

  

“com.thoughtworks.selenium.SeleniumException:ERROR:抛出异常:res.iterateNext()为null”

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

window.document.evaluate()

答案 2 :(得分:0)

尝试替换

document.evaluate

selenium.browserbot.getCurrentWindow().document.evaluate