2012-08-13 50 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