2013-10-24 22 views
1

正確的,我有一段代碼的問題。我知道如何設置單選按鈕,我可以在大多數網站上做到這一點。但是,當試圖設置下面的代碼給出的值時,我無法使其工作。我嘗試過使用標籤等「等到」,「父母設置」,並通過各種搜索。任何人都可以指出我的方向。使用Ruby和Watir設置單選按鈕

<div class="CheckBoxContainer"> 

<ol> 
    <li> 
     <span class="radio" style="background-position: 0px 0px;"></span> 
     <input class="styled" type="radio" value="1" name="clocksource"></input> 
     <label class="dialogRT"> 

      Internal 

     </label> 
    </li> 
    <li> 
     <span class="radio" style="background-position: 0px 0px;"></span> 
     <input class="styled" type="radio" value="3" name="clocksource"></input> 
     <label class="dialogRT"> 

      External AES50 

     </label> 
    </li> 
    <li> 
     <span class="radio" style="background-position: 0px -50px;"></span> 
     <input class="styled" type="radio" checked="checked" value="2"  name="clocksource"></input> 
     <label class="dialogRT"> 

      External Snake 

     </label> 
    </li> 
</ol> 

我得到這個錯誤:

[remote server] file:///var/folders/81/j_87g_h12_x7bkl2w58zwqr00000gn/T/webdriver-profile20131024-1211-10eh16l/extensions/[email protected]/components/command_processor.js:8210:in `fxdriver.preconditions.visible': Element is not currently visible and so may not be interacted with 

感謝

Maximillion

+0

它使用你的html代碼片段很好。也許你需要提供更多的頁面,例如相關的樣式表。 –

+0

好吧,我現在不能這樣做,奇怪的是,如果我做了一個 'browser.radio(:name =>'clocksource',:value =>'1')。exist?' 在他們都說的所有三個選項都是真實的,但嘗試和改變它們,它說不可見。 – Maximillion

+0

另外,當我做一個.value時,它聲明的值爲1時,顯示清楚地顯示3突出顯示。 – Maximillion

回答

0

我懷疑你有一個時機的問題。試試這個:

Watir::Wait.until { @browser.element.visible?, thing } 
+0

我其實已經嘗試過,我發現問題實際上是由我試圖測試的頁面的實現。由於樣式表,元素永遠不可見。 – Maximillion