Watir-Webdriver,Ruby - 单击表格行

时间:2016-02-08 20:44:06

标签: ruby watir-webdriver

我正在使用Watir-Webdriver和Ruby。在页面上,我有一个记录表。我需要点击任何一行,它应该转到下一页。我如何点击该行? 这是表格中每条记录的源代码

<tr class="ng-scope" ng-click="clickHandler({rowItem: item})" ng-repeat="item in ngModel">
<td class="ng-bindging">Sometext</td>
<td class="ng-bindging">Sometext1</td>
<td class="ng-bindging">Sometext2</td>
<td class="ng-bindging">Sometext3</td>
<td class="ng-bindging">Sometext4</td>
<td>
<span class="glyphicon glyphicon-play-circle"></span>
</td>

任何建议都将不胜感激。

谢谢。

2 个答案:

答案 0 :(得分:0)

关键是找到Watir可以访问的唯一属性。第一个问题是,如果没有data-前缀,您的角度应用不会生成有效的html5。

我不知道你的其他行知道如何点击这一行与另一行,但如果该属性是唯一的,你可以使用css:

browser.element(css: "tr[ng-repeat='item in ngModel']")

如果您的文字是唯一的,您也可以这样做(即使它不太理想):

browser.td(text: 'Sometext').parent

答案 1 :(得分:0)

由于您不关心单击哪个tr元素,您只需单击表格中的第一个tr元素:

record_table = browser.table
record_table.tr.click

如果第一行是标题行,则可能需要单击最后一行:

record_table = browser.table
record_table.trs.last.click

请注意,browser.table会点击页面上的第一个表格。如果页面上有更多表格,您将需要更具体 - 例如browser.table(id: 'some_id')