2011-05-11 114 views
2

我想获取表格行中第二个单元格中的值,其中唯一值位于第一个单元格中。第二个细胞的价值不断变化。使用Watir获取行中第一个单元格中第二个表格单元格的值

<table class="mm-table" cellspacing="0" cellpadding="3" border="0"> 
    <tr class="trhover" onclick="location.href='stock.php?id=RI&p=wtch';"> 
    <td align="left" rowspan="1" class="tdwidth35per paddingleft4px"> 
     <a shape="rect" href="stock.php?id=RI&p=wtch"> Reliance </a></td> 
    <td align="right" rowspan="1" class="tdwidth35per"> **951.35** </td> 
    <td align="right" rowspan="1" class="tdwidth30per"><font color="#008000">0.60</font></td> 
</tr> 

以上是表格。还有其他同名的表。我想访问包含文本“951.35”

回答

1

尝试这样的事情第二单元:

browser.table(:class => "mm-table").cell(:class => "tdwidth35per") 
2

看看这会导致你想闪

browser.cell(:text, " **951.35** ").parent.cell(:index, 2).flash 

,或者如果你的电池只知道将在该单元格中的文本的一部分,请尝试此操作

browser.cell(:text, /951.35/).parent.cell(:index, 2).flash 

如果由于某种原因使用.p的arent将无法正常工作,你也可以只是尝试在整个行上matchng文本的一部分

browser.row(:text, " **951.35** ").parent.cell(:index, 2).flash 

注意,在消防水的使用基于零的索引的情况下,我相信你会需要更改索引值1

另请注意,如果页面上只有一个单元格与指定的文本,特别是在最后两个使用正则表达式匹配所需文本的例子的情况下,这只会起作用。在这种情况下,如果有另一个单元格包含这些数字,即使它是另一个值的一部分,例如12951.356 Watir也不知道您想匹配哪一个单元格,并会给您一个错误。

如果其中任何一个工作来闪烁您想要的单元格,则只需将.flash替换为.text即可获取单元格中的文本值。

相关问题