我发现很容易得到行内具有可靠属性的单元格内的文本值,例如。 $browser.tr(:class, "datarow2_sm")
获取兄弟节点而不依赖父索引?
但是,我还需要抓取表格中非常接近的<tr>
的数据,该数据仅定义为<tr class="">
。 它的HTML内容没有任何特别的东西,讲话。捉该行
一种勉强的方法是:
cell1value = $browser.tr(:class, "datarow2_sm").parent[3][1].text
cell2value = $browser.tr(:class, "datarow2_sm").parent[3][2].text.to_f # etc.
但我不希望依靠一个固定索引[3]如在更广泛的表这样的事情可能会移位。除了.parent有像东西(在机械化。接下来/* 。以前 *等).sibling?也许一个喜欢相同类型的节点(tr到另一个tr而不是td或DOM中的某个非行节点)?
因此,只抓取第二个单元格的相邻行的值,是否像这样?:'cell2value = $ browser.element(:css,“tr.datarow2_sm + tr”)。to_subtype [2] .text' – Marcos 2012-07-20 21:04:34
Watir- webdriver是从零开始的索引,所以如果你想要第二个单元格,它实际上是索引1.如果你只关心单元格,实际上可以跳过to_subtype。答案已更新。 – 2012-07-20 21:18:15