我有像
这样的html div<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;">
<font color="#1F91D0"> <b>{{someMessage}}</b></font>
</td>
</tr>
</tbody>
</table>
</div>
<br/>
</div>
我正在运行Ruby-Watir Automation脚本。我无法在{{someMessage}}
或<b></b>
中访问包含文字<td></td>
的元素。如何检索上面的文本值{{someMessage}}
?
我尝试过:
def getElementById(elementId)
if @browser.element(:id => elementId).exists?
@element = @browser.element(:id => elementId)
end
@element
end
elementId = id
的{{1}}。但我无法分配td
值?
任何指针或示例代码都会有帮助吗?感谢。
引用@element
ID和<td>
<table>
并访问该元素但
答案 0 :(得分:2)
您说您尝试使用td
属性访问id
元素,但在您提供的HTML中,唯一具有id
属性的元素是img
。如果是这种情况,您可以使用id
img
属性来访问文字:
@browser.img(:id => "indicator").parent.text
答案 1 :(得分:0)
@Zeljko Filipin,谢谢。我后来尝试了这个 -
def getTableElementById(tableId, rowId, colId)
@table = @browser.table(:id => tableId)
@element = @table.tr(:id => rowId).td(:id => colId)
@element
end
有效!