私は、Selenium Javaを使ってWebアプリケーションを自動化しています。このWebアプリケーションには、各行の内側にチェックボックス付きの行を作成する角度js ng-repeatテーブルがあります。私はテストする条件に基づいていくつかのチェックボックスを選択する必要があります。クリックするにはセレクションを使用したng-repeatテーブル内のチェックボックス
私はこれらのチェックボックスを見つけるために以下のコードを使用していますが、見つけてクリックすることはできません。
// To locate table.
WebElement mytable = driver.findElement(By.xpath("//table[@class='table']/tbody"));
// To locate rows of table.
List<WebElement> rows_table = mytable.findElements(By.id("check"));
// To calculate no of rows In table.
int rows_count = rows_table.size();
System.out.println(rows_count);
ウェブページのソースはngWebDriverが魅力のように働いた
`<table class="table" ng-cloak>
<tbody>
<tr ng-repeat="C orderBy : colsort:reverseSort">
<td>
<input id="check" type="checkbox" ng-checked="C.Addc" ng-model="C.Addc" ng- click="FindMsg(C.Addc,C.MSG)" />
</td>
<td>
{{C.ItemCode}}
</td>
<td>
{{C.Code}}
</td>
<td title="{{C.LongDescription}}">
{{C.LongDescription.substr(0,30)}}...
</td>
<td style="width: 40px; text-align: right">
{{formattingEnd(C.Enduserprice)}}
</td>
<td>
{{C.type}}
</td>
<td>
{{C.statusflag.toUpperCase}}
</td>
<td>
{{C.SInstType}}
</td>
</tr>
</tbody>
</table>`
ここで、クリックするコードはありますか? 'id =" checkCPE "'を持つ要素は何ですか? – Andersson
最初に私はチェックボックスを識別しようとしており、以下のコードで数えます。 0を返しています。 id = "check"は、テーブルの各行で繰り返されるチェックボックスです。 <<>> リスト rows_table = mytable.findElements(By.id( "check"))); –
Leo
ページに複数のテーブルがあり、 'iframe' /' frame'の中にテーブルがあるか確認してください – Andersson