Hi Basim! Watir uses symbols to specify element parameters, so where you were matching on "xpath", you'd really need to match on :xpath. Also, instead of specifying only the element parameters as a variable, you may want to specify the entire element.
Try something like this: $edit_descriptions["pwd"] = @b.text(:xpath => "//input[@type='text'] [1]") to define your element and then puts $edit_descriptions["pwd"].value to get the value from it. Hope this helps! -Tiffany On Apr 19, 2:13 pm, Basim Baassiri <[email protected]> wrote: > Hello > I have the following input fields > <input type="text" readOnly="readonly" value="RKmFFz5H"/> > <input type="text" readOnly="readonly" value="t77Gty2G"/> > <input type="text" readOnly="readonly" value="npWX8NNy"/> > > and since there is no html id or name, I'm using xpath to find the 2nd input > field > > here is my xpath expression that I'm using > //input[@type='text'][1] > > here is some of the code > $edit_descriptions["pwd"] = { "xpath" => "//input[@type='text'][1]" } > puts @b.text_field($edit_descriptions["pwd"]).value > > This is the exception I'm getting > > ---------- ruby.exe ---------- > D:/Ruby186/lib/ruby/gems/1.8/gems/watir-1.8.1/lib/watir/locator.rb:175:in > `match?': xpath is an unknown way of finding an <INPUT> element > (//input[@type='text'][1]) > (Watir::Exception::MissingWayOfFindingObjectException) > from > D:/Ruby186/lib/ruby/gems/1.8/gems/watir-1.8.1/lib/watir/locator.rb:28:in > `match_with_specifiers?' > from > D:/Ruby186/lib/ruby/gems/1.8/gems/watir-1.8.1/lib/watir/locator.rb:26:in > `each' > from > D:/Ruby186/lib/ruby/gems/1.8/gems/watir-1.8.1/lib/watir/locator.rb:26:in > `match_with_specifiers?' > from > D:/Ruby186/lib/ruby/gems/1.8/gems/watir-1.8.1/lib/watir/locator.rb:163:in > `locate' > from > D:/Ruby186/lib/ruby/gems/1.8/gems/watir-1.8.1/lib/watir/locator.rb:154:in > `each' > from > D:/Ruby186/lib/ruby/gems/1.8/gems/watir-1.8.1/lib/watir/locator.rb:154:in > `locate' > from > D:/Ruby186/lib/ruby/gems/1.8/gems/watir-1.8.1/lib/watir/container.rb:865:in > `locate_input_element' > from > D:/Ruby186/lib/ruby/gems/1.8/gems/watir-1.8.1/lib/watir/input_elements.rb:5:in > `locate' > from > D:/Ruby186/lib/ruby/gems/1.8/gems/watir-1.8.1/lib/watir/element.rb:55:in > `assert_exists' > from (eval):2:in `value' > #<Watir::TextField:0x4e40b00 located=false > how={"xpath"=>"//input[@type='text'][1]"} what=nil> > > Output completed (6 sec consumed) - Normal Termination > > Any ideas on where I'm going wrong with my xpath expression (I've looked at > the example unittests also) or is there another solution to my problem? > > Basim -- Before posting, please read http://watir.com/support. In short: search before you ask, be nice. [email protected] http://groups.google.com/group/watir-general [email protected]
