我想用watir-webdriver访问一个网站,但我似乎无法在watir中找到可在Firefox + Firebug中看到的文本框。如何在Watir中找到文本框
我的代码是
require 'rubygems'
require 'irb/completion'
require 'watir-webdriver'
browser = Watir::Browser.new(:firefox)
browser.goto('http://emersonecologics.com/')
browser.text_field(:name, "txtEmail").set("[email protected]")
我得到的错误:
Watir::Exception::UnknownObjectException: unable to locate element, using {:type=>"(any text type)", :name=>"txtEmail", :tag_name=>"input or textarea"}
但是,我知道有一个名为txtEmail文本框,因为萤火虫显示我
<input id="txtEmail" class="textbox" type="text" tabindex="1" name="txtEmail">
当然,正是这个文本框在树的深处。所以,认为我应该在DOM中导航到它,我尝试访问名为'all'的div。
如果我做
>>browser.divs[1].id
=> "all"
>> browser.divs[1].tag_name
=> "div"
但是,当我试图让一个手柄,它如下,看来我不能找到它。
>>browser.div(:id, "all")
=> #<Watir::Div:0x101a8fd70 located=false selector={:tag_name=>"div", :id=>"all"}>
任何人都可以帮助我如何选择页面中的对象吗?
这很有趣,因为这是我所得到的: 的Watir ::例外:: UnknownFrameException:无法使用定位帧/ IFRAME {:指数=> 1}。 您使用的是Firefox和watir-webdriver吗? – highBandWidth 2011-06-09 02:34:50
尝试':index => 0'。 – 2011-06-09 08:09:01
@Zeljko,工作,谢谢!虽然它说“(any text type)”,:tag_name =>“input or textarea”,:name =>“txtEmail”}。它不应该说位于=真? –
highBandWidth
2011-06-09 12:49:42