2011-10-05 17 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