使用watir-jquery设置输入文本字段

时间:2013-11-19 21:48:24

标签: watir watir-jquery

我正在尝试使用watir-jquery选择器设置文本输入的值。我发现它只适用于watir的text_field选择器。我的问题是:

  1. 如何使用watir-jquery
  2. 设置输入字段
  3. 什么是watir的text_field选择器,为什么其结果与input选择器找到的相同字段的方法不同?
  4. 相关代码如下:

    require 'watir'
    require 'watir-jquery'
    browser = Watir::Browser.new
    browser.goto 'www.yandex.com'
    jq_inp = browser.jq('input#searchInput')
    jq_inp.value = 'Vlad the Impaler'
    NoMethodError: undefined method `value=' for #<Watir::Input:0x007fd7f3c3cee0>
        from gems/ruby-2.0.0-p247/gems/watir-webdriver-0.6.4/lib/watir-webdriver/elements/element.rb:553:in `method_missing'
    
    wt_inp = browser.input(:id, 'searchInput')
    wt_inp.value = 'Vlad the Impaler'
    NoMethodError: undefined method `value=' for #<Watir::Input:0x007fd7f3c97b60>
        from gems/ruby-2.0.0-p247/gems/watir-webdriver-0.6.4/lib/watir-webdriver/elements/element.rb:553:in `method_missing'
    
    wt_tf = browser.text_field(:id, 'searchInput')
    wt_tf.value = 'Vlad the Impaler'  # This works!
    # So, let us try text_field with jquery
    jq_tf = browser.jq('text_field#searchInput')
     => nil 
    # No search thing as text_field in jquery
    

1 个答案:

答案 0 :(得分:0)

Watir有一个TextField对象,它是Input的子类型,它支持set。所以两者

browser.jq('input#searchInput').to_subtype.set 

browser.input(:id, 'searchInput').to_subtype.set

的工作。