css - Watir::Exception::MissingWayOfFindingObjectException:无效属性::css

标签 css css-selectors watir watir-webdriver

我很确定 watir-webdriver 支持 css 选择器,但看起来它不再存在了:

$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]

$ gem -v
1.8.15

$ gem list selenium-webdriver
*** LOCAL GEMS ***
selenium-webdriver (2.17.0)

$ gem list watir-webdriver
*** LOCAL GEMS ***
watir-webdriver (0.4.1)

$ irb
> require "watir-webdriver"
 => true 

> browser = Watir::Browser.new :firefox
 => #<Watir::Browser:0x787eb29124fb7658 url="about:blank" title=""> 

> browser.goto "google.com"
 => "http://www.google.com.mx/" 

> browser.a(:css => "a").flash
Watir::Exception::MissingWayOfFindingObjectException: invalid attribute: :css
    from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/watir-webdriver-0.4.1/lib/watir-webdriver/locators/element_locator.rb:228:in `assert_valid_as_attribute'
    from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/watir-webdriver-0.4.1/lib/watir-webdriver/locators/element_locator.rb:209:in `normalize_selector'
    from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/watir-webdriver-0.4.1/lib/watir-webdriver/locators/element_locator.rb:191:in `block in normalized_selector'
    from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/watir-webdriver-0.4.1/lib/watir-webdriver/locators/element_locator.rb:188:in `each'
    from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/watir-webdriver-0.4.1/lib/watir-webdriver/locators/element_locator.rb:188:in `normalized_selector'
    from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/watir-webdriver-0.4.1/lib/watir-webdriver/locators/element_locator.rb:76:in `find_first_by_multiple'
    from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/watir-webdriver-0.4.1/lib/watir-webdriver/locators/element_locator.rb:33:in `locate'
    from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/watir-webdriver-0.4.1/lib/watir-webdriver/elements/element.rb:285:in `locate'
    from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/watir-webdriver-0.4.1/lib/watir-webdriver/elements/element.rb:259:in `assert_exists'
    from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/watir-webdriver-0.4.1/lib/watir-webdriver/elements/element.rb:206:in `style'
    from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/watir-webdriver-0.4.1/lib/watir-webdriver/elements/element.rb:103:in `flash'
    from (irb):4
    from /Users/zeljko/.rvm/rubies/ruby-1.9.3-p0/bin/irb:16:in `<main>'

环境:Mac OS X 10.7.2、Firefox 9.0.1。

我做错了什么吗?

最佳答案

watir-webdriver 目前只在你使用 Browser#element 时支持这个

 browser.element(:css => "a")

我们可以添加对其他元素方法的支持,但我们必须找到一种方法来处理例如

 browser.a(:css => "div.foo")

关于css - Watir::Exception::MissingWayOfFindingObjectException:无效属性::css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9006223/

相关文章:

css - 使用 css 将鼠标悬停在第一个子元素上时更改其他子元素

watir - 无法通过带下划线的数据属性访问元素

javascript - 追加到 jquery 中的无序列表 (ul)

javascript - jQuery 不会切换 css 属性?

css - 哪个 Modernizr css 类决定是否可以使用 translateX()?

css - 如何更改我网站的 CSS 定位以在所有浏览器中正确显示?

jquery - 我希望每当检查单选元素的一个选项时都会触发一个函数。如何使用 Jquery 做到这一点?

css - 我可以用 CSS 完成这个吗?

ruby - 我如何使用 page-object-gem 和 jqueryui_widgets 选择日期选择器

watir - 如何在不影响性能的情况下找到带有 watir-webdriver 的 <acronym> 标签?