使用CSS定位器时'window.Sizzle不是函数'错误

时间:2010-12-30 13:02:00

标签: selenium selenium-ide

几个月前,我想知道如何通过名称点击页面中的特定链接,而不是XPath:

Selenium IDE: Click on a particular item by name (not the XPath)

AutomatedTester帮助我提供了这两个解决方案:

xpath=//span[text()='Keith Duggan: Sideline Cut']
  

css = span:contains('Keith Duggan:Sideline Cut')

两者都运行良好,但对于我的测试用例,我决定使用第二种方法(使用CSS),因为它非常简单。但是,此代码不再有效。

在最后几天,当尝试执行此TC时,我收到此错误:

[error] Unexpected Exception: message -> window.Sizzle is not a function, fileName -> chrome://selenium-ide/content/selenium/scripts/htmlutils.js, lineNumber -> 2203, stack -> eval_css("span:contains('Keith Duggan: Sideline Cut')",[object XPCNativeWrapper])@chrome://selenium-ide/content/selenium/scripts/htmlutils.js:2203 ("span:contains('Keith Duggan: Sideline Cut')",[object XPCNativeWrapper],[object XPCNativeWrapper])@chrome://selenium-ide/content/selenium/scripts/selenium-browserbot.js:1925 ("css","span:contains('Keith Duggan: Sideline Cut')",[object XPCNativeWrapper],[object XPCNativeWrapper])@chrome://selenium-ide/content/selenium/scripts/selenium-browserbot.js:1247 ("css","span:contains('Keith Duggan: Sideline Cut')",[object XPCNativeWrapper],[object XPCNativeWrapper])@chrome://selenium-ide/content/selenium/scripts/selenium-browserbot.js:1379 ([object Object],[object XPCNativeWrapper])@chrome://selenium-ide/content/selenium/scripts/selenium-browserbot.js:1406 ("css=span:contains('Keith Duggan: Sideline Cut')")@chrome://selenium-ide/content/selenium/scripts/selenium-browserbot.js:1417 ("css=span:contains('Keith Duggan: Sideline Cut')","")@chrome://selenium-ide/content/selenium/scripts/selenium-api.js:230 ("css=span:contains('Keith Duggan: Sideline Cut')","")@chrome://selenium-ide/content/selenium/scripts/htmlutils.js:60 ([object Object],[object Object])@chrome://selenium-ide/content/selenium/scripts/selenium-commandhandlers.js:310 ()@chrome://selenium-ide/content/selenium/scripts/selenium-executionloop.js:112 (0)@chrome://selenium-ide/content/selenium/scripts/selenium-executionloop.js:78 (0)@chrome://selenium-ide/content/selenium/scripts/htmlutils.js:60 , name -> TypeError 

知道这里发生了什么吗? Selenium是否引入了CSS sintaxis的变化?

感谢您的帮助

}的Panacea {

2 个答案:

答案 0 :(得分:3)

1.0.8中有一个错误导致了这个问题。更新到1.0.10,一切都应该很好。 (1.0.9有一个不同的讨厌的bug。)

答案 1 :(得分:1)

您使用的是哪种版本的Selenium?在最近的版本中,CSS选择器引擎与Sizzle(支持jQuery的库)交换出来,主要是出于许可的原因,但也有技术优势。看起来Sizzle不支持该特定语法。