2011-06-22 59 views
3

给定以下HTML代码片段;在通过ID找到链接后,如何选择同一段中的复选框? 例如,如果我想选择与ID =“inst_17901-1746-1747”链接关联的复选框。在watir-webdriver的另一个元素的相同段落中查找元素

DIV 中段落的顺序在会话之间不一致因此我无法通过复选框的索引或ID选择它。

<div id="inst-results"> 
<p> 
<input id="inst-results0-check" type="checkbox"> 
<a class="ws-rendered" id="inst_17901-1746-1747" title="!!QA Data 2/DOOR FURNITURE/316 Stainless - Altro Range"><img src="http://yr-qa-svr2/Agility/ACMSImages?type=objectType&amp;objectTypeID=32"> <span>!!QA Data 2/DOOR FURNITURE/316 Stainless - Altro Range</span></a> 
</p> 
<p> 
<input id="inst-results1-check" type="checkbox"><a class="ws-rendered" id="inst_17882-1746-1747" title="!!QA Data/DOOR FURNITURE/316 Stainless - Altro Range"><img src="http://yr-qa-svr2/Agility/ACMSImages?type=objectType&amp;objectTypeID=32"> <span>!!QA Data/DOOR FURNITURE/316 Stainless - Altro Range</span></a> 
</p> 
</div> 

我想出了解决这个问题的解决方案,但是Zeljko解决方案好多了。

$browser.div(:id,"inst-results").ps.each { |para| 
     if para.link.text == "!!QA Data/DOOR FURNITURE/316 Stainless - Altro Range" then 
      para.checkbox.set 
      break 
     end 
    } 

回答

2

如果只有一个与连杆的段落复选框:

browser.link(:id => "inst_17901-1746-1747").parent.checkbox.set 

作品与的Watir-webdriver的,不知道这是否会与其他的Watir宝石工作。

+0

谢谢,这应该工作,因为每个段落应该只有一个复选框。 –

+0

如果有多个需要指定复选框的(如何,什么)。如果你没有更好的东西,这可能是索引。虽然我怀疑在那种情况下至少会有关联的文本,所以用户知道每个复选框做了什么(而不是两个裸体复选框) –

相关问题