【问题标题】:Get value of a second table cell with unique text in first cell of the row with Watir使用 Watir 在行的第一个单元格中获取具有唯一文本的第二个表格单元格的值
【发布时间】:2011-08-23 02:25:49
【问题描述】:

我想获取表格行的第二个单元格中的值,其中唯一值在第一个单元格中。第二个单元格的值不断变化。

<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”的第二个单元格

【问题讨论】:

    标签: ruby watir firewatir


    【解决方案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
      

      如果由于某种原因使用 .parent 不起作用,您也可以尝试匹配整行上的部分文本

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

      请注意,对于使用基于零的索引的消防水,我相信您需要将索引值更改为 1

      另请注意,这仅在页面上只有一个单元格具有指定文本时才有效,尤其是在最后两个示例使用正则表达式匹配所需文本的情况下。在这种情况下,如果存在具有这些数字的另一个单元格,即使它是另一个值(例如 12951.356)的一部分,Watir 也不知道您要匹配哪个,并且会给您一个错误。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-06-16
        • 2020-08-24
        • 1970-01-01
        • 1970-01-01
        • 2020-09-20
        • 1970-01-01
        • 2018-03-26
        相关资源
        最近更新 更多