1

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

Selenium IDE:按名称单击特定项目(不是 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 中引入了变化?

谢谢你的帮助

}灵丹妙药{

4

2 回答 2

3

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

于 2010-12-30T19:07:05.190 回答
1

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

于 2010-12-30T16:57:28.307 回答