我正在使用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>
任何建议都将不胜感激。
谢谢。
答案 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')
。