[英]How to select element in previous <TD> in watir?
我對Watir有問題。 在用戶界面中,有很多如下表:
<tr>
<td>
<select>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</td>
<td>
ABCD
</td>
</tr>
我需要搜索UI中是否存在“ ABCD”(如果存在),然后在下拉列表中選擇一個類似於“ 2”的值嘗試過這種方式,但效果不佳
puts b.td(:text => "ABCD").exist?
puts b.td(:ABCD").parent.row(:index, 0)
還有另一個如下表:
<tr>
<td>
<select>
<option value="1">1</option>
<option value="2">2</option>
</select>
</td>
<td>
<select>
<option value="ABCD">ABCD</option>
<option value="EFGH">EFGH</option>
<option value="IJKL">IJKL</option>
</select>
</td>
</tr>
相同的要求:在用戶界面中搜索“ ABCD”是否存在,如果存在,則在下拉列表中選擇一個類似於“ 2”的值,根據您的顯示方式進行了這種嘗試,效果不佳
if b.td(:text, "ABCD").present?
b.td(:text, "ABCD").parent.select_list.select('2')
end
如果要基於出現的“ ABCD”執行某些操作,則需要使用if
語句(而不僅僅是檢查它是否存在)。 同樣,您可能想檢查該元素是否present?
不僅exist?
。 exist?
僅檢查該元素是否在DOM中,而不檢查該元素是否實際顯示給用戶(有關更多詳細信息,請參見此博客文章 )。
if b.td(:text => "ABCD").present?
# Do something when the element is displayed
end
前面的td元素稱為同級,有兩個選擇 。 我們可以像您嘗試的那樣使用parent
方法。 但是,請注意, parent
方法已經返回了row元素(因為它是td的父元素)。 查找選擇列表:
b.td(:text => "ABCD").parent.select_list
放在一起:
if b.td(:text => "ABCD").present?
b.td(:text => "ABCD").parent.select_list.select('2')
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.