2

我有一个像

<div class="main-div font-color page-padding">
  <div>
    <table>
      <tbody>
        <tr>
          <td style="vertical-align:middle">
            <img src="resources/images/info.png" id="indicator" class="sd-img" style="vertical-align:middle;margin-top:-3px;margin- left:-4px;">
            &nbsp; 
            <font color="#1F91D0"> <b>{{someMessage}}</b></font>
          </td> 
        </tr>
      </tbody>
    </table>
  </div>
  <br/>
</div>

我正在运行 Ruby-Watir 自动化脚本。我无法使用 或{{someMessage}}中的文本访问元素。如何检索上面的文本值?<b></b><td></td>{{someMessage}}

我试着做:

def getElementById(elementId)
  if @browser.element(:id => elementId).exists?
    @element = @browser.element(:id => elementId)
  end
  @element
end

在哪里elementId = idtd但我不能赋值@element

对此有任何指示或示例代码会有所帮助吗?谢谢。

<td>用 id 和<table>by引用id并访问元素但不能

4

2 回答 2

2

您说您已经尝试td使用它的属性访问元素id,但是在您提供的 HTML 中,唯一具有id属性的元素是img. 如果是这种情况,您可以使用id属性img来访问文本:

@browser.img(:id => "indicator").parent.text
于 2012-11-21T10:08:42.857 回答
0

@Zeljko 菲律宾,谢谢。我后来试过这个 -

def getTableElementById(tableId, rowId, colId)      
  @table = @browser.table(:id => tableId)
  @element = @table.tr(:id => rowId).td(:id => colId)
  @element
end 

有用!

于 2012-11-22T09:11:07.037 回答