2011-05-11 174 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即可獲取單元格中的文本值。

相關問題