0

実行中のさまざまなサービスの「アクティブ」列から値を取得しようとしているタブ付きのテーブルがあります。

Services
    Service                    Active
    SERVICE1                   YES
    SERVICE2                   NO
    SERVICE3                   YES

私はテーブルからこのようなものを使用したいと思っていました。しかし、これは私にはうまくいかないようです。目標は、サービスの 1 つを選択し、それがアクティブな YES または NO かどうかを調べ、それを変数に入れることです。皆さんは以前の回答で私を大いに助けてくれました。あなたの助けと意見に本当に感謝しています.

browser.td(:text => "SERVICE1").parent.td(:index => 1).flash 

上記のコードを使用しようとすると、このようなエラーが発生します

/home/bill/.rvm/gems/ruby-1.9.2-p320@vts_automated/gems/watir-webdriver-0.6.4/lib/watir-webdriver/elements/element.rb:490:in `assert_exists': unable to locate element, using {:id=>"services", :tag_name=>"td"} (Watir::Exception::UnknownObjectException)

私のhtmlコードは次のようになります

<table class="tabbed_table" cellspacing="5">
<tbody>
<tr>
<td>
<h2>Appliance</h2>
<dl class="table-display">
<dt class="wide">Product version: </dt>
<dd class="wide">xxxxx</dd>
<dt class="wide">Serial number:</dt>
<dd class="wide">xxxxxx</dd>
<dt class="wide">System Time:</dt>
<dd class="wide">Wednesday, October 30, 2013 02:02PM CDT</dd>
</dl>
</td>
<td>
<h2>Services</h2>
<table id="services">
<tbody>
<tr>
<th>Service</th>
<th>Active</th>
</tr>
<tr class="alt">
<td class="no_bg">SERVICE1</td>
<td class="no_bg">YES</td>
</tr>
<tr class="normal">
<td class="no_bg"> SERVICE2 </td>
<td class="no_bg">NO</td>
</tr>
<tr class="alt">
<td class="no_bg"> SERVICE3 </td>
<td class="no_bg">YES</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
4

1 に答える 1

0

1 つの方法は、テーブルからセルを収集しeach_slice、ハッシュを作成してデータを格納し、メソッドを使用してデータをハッシュに割り当てることです。その時点で、必要なデータがあり、必要に応じて操作できるはずです。例えば:

# get cells from table(:id => "services") 

cells = browser.table(:id => "services").tds

# create hash

service_active = {}

# iterate over cells variable using each_slice method and assign keys/values to has

cells.each_slice(2) do |slice|
  service_active["#{slice[0]}"] = slice[1]
end

# hash with data

service_active.each {|k,v| puts "the value of #{k} is #{v}"}

#=> the value of Service is Active
#=> the value of SERVICE1 is YES
#=> the value of SERVICE2 is YES
#=> the value of SERVICE3 is YES
于 2013-10-30T17:46:50.533 に答える