2016-11-24 3 views
-1

私は、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>` 
+0

ここで、クリックするコードはありますか? 'id =" checkCPE "'を持つ要素は何ですか? – Andersson

+0

最初に私はチェックボックスを識別しようとしており、以下のコードで数えます。 0を返しています。 id = "check"は、テーブルの各行で繰り返されるチェックボックスです。 <<>> リスト rows_table = mytable.findElements(By.id( "check"))); – Leo

+0

ページに複数のテーブルがあり、 'iframe' /' frame'の中にテーブルがあるか確認してください – Andersson

答えて

0

以下のように見えます。

ngWebDriver = new NgWebDriver((JavascriptExecutor) driver); ngWebDriver.waitForAngularRequestsToFinish(); List<WebElement> wes = driver.findElements(ByAngular.repeater("C in SearchCPE")); System.out.println("Row Count is : "+wes.size());

関連する問題