Ruby Watir:查找包含特定子级的父div
我有以下HTML结构:Ruby Watir:查找包含特定子级的父div,ruby,webdriver,watir,Ruby,Webdriver,Watir,我有以下HTML结构: <div class="items"> ...some complex structure with many sub divs ... <div id="specificchild"></div> </div> <div class="items> ... </div> 行不通 有没有可能选择div而不遍历所有div并询问它是否包含“specif
<div class="items">
...some complex structure with many sub divs ...
<div id="specificchild"></div>
</div>
<div class="items>
...
</div>
行不通
有没有可能选择div而不遍历所有div并询问它是否包含“specificchild”?解决方案1-Xpath 在这种情况下,我认为最简单的解决方案是使用xpath:
browser.div(:xpath, '//div[@class="items"][.//div[@id="specificchild"]]')
解决方案2-迭代到父级
或者,您可以像通常一样找到specificchild元素。然后迭代父项,直到找到具有类“items”的父项:
item = browser.div(:id => 'specificchild')
item = item.parent until item.class_name == 'items'
解决方案3-使用查找
另一个选项是获取包含类项的div集合,然后查找包含特定子项的div集合。它将只遍历div,直到找到所需的div为止
browser.divs(:class => 'items').find{ |item| item.div(:id => 'specificchild').exists? }
我想避免使用XPath,因为Watir的设计没有XPath表达式,但我想我还是会坚持使用它。非常感谢。
browser.divs(:class => 'items').find{ |item| item.div(:id => 'specificchild').exists? }