2011-10-05 19 views
1

我正在尝试使用具有自定义属性的选项检查select_list元素。就像在下面的例子中,每个选项都有一个“称号”Watir - 如何获得选项的属性(除了键和值)

<select id="mySelectList"> 
    <option title="title1" value="1">Title 1</option> 
    <option title="title2" value="2">Title 2</option> 
    <option title="title3" value="3">Title 3</option> 
</select> 

我需要访问选项称号,但每个选项并没有真正的ATTRIBUTE_VALUE方法作出回应。是否有可能检索Watir中的选项的自定义属性的值?

我使用的Watir和IE

回答

1

为您提供的HTML,这个工作对我来说,使用的Watir-的webdriver和Firefox:

browser.option(:text => "Title 3").attribute_value "title" 
=> "title3" 

如果你需要所有的人:

browser.options.each {|option| puts option.attribute_value "title" } 

输出

title1 
title2 
title3 
+0

我忘了提,我们使用 '的Watir' 和IE 。我是新手,并没有意识到'watir'和'watir-webdriver'之间的区别。这是否意味着我需要切换到watir-webdriver才能执行此操作? –

+0

要做到以上,是的。用watir gem来做,看看我的其他答案。 –

+0

如果您需要跨浏览器支持(例如,针对除IE以外的任何浏览器的当前版本进行测试),那么值得研究转向watir-webdriver。与Watir相比,IE驱动程序方面稍微有点弱(webdriver开发人员偏好??),但跨浏览器支持,恕我直言,弥补了它 –

0

使用的Watir宝石(2.0.2)和Internet Explorer 9:

browser.element(:css => "option").attribute_value "title" 
=> "title1" 

browser.select_list(:id => "mySelectList").elements.each {|option| puts option.attribute_value "title" } 

输出

title1 
title2 
title3