2012-08-13 81 views
0

我正在使用watir-webdriver,我試圖將下表中顯示的內容(速率代碼選擇不可用的本地或汽車138DE)寫入文本文件,但我無法讓它顯示內容。任何想法我做錯了什麼?在此先感謝您的幫助。Watir顯示來自文本文件中的表格的內容

errorMes = browser.select_list(:name => 'seamlessMessages').value 
    f3=File.open('Error Log - Conf Res.txt', 'a') 
    f3.puts "Cancel Reservation - FAILED - Res ID: " +tasid+" - " + CSAsite + " - Message: " +errorMes 
    f3.puts "\n" 
    f3.close 

代碼

<TD><B>Error/Informational&nbsp;Messages</B></TD> 
       <TD><B>Number&nbsp;of&nbsp;Messages</B></TD> 
       <TD class="tableData"><span name="nbrOfMessages"/>1</span></TD> 
       <TD>&nbsp;</TD> 
      </TR> 
      <TR> 
       <TD height="1"></TD> 
      </TR> 
     </TABLE> 
     <TABLE width="100%" class="displaySubsection" cellpadding="0" cellspacing="0"> 
      <TR> 
       <TD width="5" rowspan="3"></TD> 
       <TD width="800"></TD> 
       <TD width="5" rowspan="3"></TD> 
      </TR> 
      <TR> 
       <TD> 
        <select name="seamlessMessages" size="2" readonly tabIndex="-1" class="readonly wide"><option value="0" selected>RATE CODE SELECTED NOT AVAILABLE THIS LOCATION OR CAR  138DE  </option></select> 
       </TD> 
+0

你是什麼意思「我無法顯示內容」? – 2012-08-13 12:04:39

回答

0

我想你的問題是,你所得到的「0」,而不是「SELECTED無法在此位置或汽車138DE的房價代碼」。

當你做errorMes = browser.select_list(:name => 'seamlessMessages').value時,它返回所選選項的'value'屬性。

如果你想要的文字,你需要做的:

errorMes = browser.select_list(:name => 'seamlessMessages').selected_options.first.text 
+0

請注意,此解決方案適用於Watir 3.0.0,它有'selected_options'返回一組選項元素。如果使用Watir 1.6.5,'selected_options'返回一個字符串值數組,因此不需要'.text'(如Sal的答案所示)。 – 2012-08-14 13:26:56

0

是的,你說得對,我是越來越「0」

只是爲了讓你知道,當我試圖

errorMes = browser.select_list(:name => 'seamlessMessages').selected_options.first.text 

我在<main>': undefined method文本中收到了一條錯誤消息「對於」所選擇的速率代碼 無法提供此位置或汽車138DE「:String(NoMethodError)

通過刪除.text它確實工作。非常感謝您的幫助。

errorMes = browser.select_list(:name => 'seamlessMessages').selected_options.first