【问题标题】:Is there a way to set a text field with watir-webdriver using css selectors to access the text field?有没有办法使用 css 选择器设置带有 watir-webdriver 的文本字段来访问文本字段?
【发布时间】:2012-01-25 17:06:35
【问题描述】:

我想设置一个带有 watir-webdriver 的文本字段,使用 css 选择器来访问文本字段,但它抱怨没有为 Watir::HTMLElement 定义metod set

$ 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.element(:css => "input[name=q]").set "test"
NoMethodError: undefined method `set' for #<Watir::HTMLElement:0x007fe39b2680c8>
    from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/watir-webdriver-0.4.1/lib/watir-webdriver/elements/element.rb:317:in `method_missing'
    from (irb):24
    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。

【问题讨论】:

    标签: css css-selectors textfield watir watir-webdriver


    【解决方案1】:

    使用元素#to_subtype

     browser.element(:css => "input[name=q]").to_subtype.set "test"
    

    或者为什么不使用 Watir 选择器?

     browser.input(:name => "q").set "test"    
    

    您并没有真正通过使用 :xpath 或 :css 来利用 Watir API 的强大功能。

    【讨论】:

    • 说来话长。我会在喝啤酒时告诉你细节。 :)
    • 问题没有结束:browser.element(:css =&gt; "textarea").to_subtype.set "text" 返回NoMethodError: undefined method 'set' for #&lt;Watir::TextArea:0x007fb73b21cbc8&gt;
    • 为 textarea 问题创建票证:github.com/watir/watir-webdriver/issues/118
    猜你喜欢
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    相关资源
    最近更新 更多