मैं टेक्स्ट फ़ील्ड का उपयोग करने के लिए सीएसएस चयनकर्ताओं का उपयोग करके वियर-वेबड्राइवर के साथ एक पाठ क्षेत्र सेट करना चाहता हूं, लेकिन यह मेट्रो की शिकायत set
के लिए परिभाषित नहीं किया गया है Watir::HTMLElement
:
$ 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>"
पर्यावरण: मैक ओएस एक्स 10.7.2, फ़ायरफ़ॉक्स 9.0.1।
उत्तर:
उत्तर № 1 के लिए 4तत्व का उपयोग करें # to_subtype
browser.element(:css => "input[name=q]").to_subtype.set "test"
या वॉटिर सिलेक्टर का उपयोग क्यों नहीं करते?
browser.input(:name => "q").set "test"
आप वास्तव में "xpath या: css" का उपयोग करके वॉटिर एपीआई की शक्ति का लाभ नहीं उठा रहे हैं।