2016-07-22 4 views
0

ダイナミックテーブルが1つあります。 in row = 1 and column = 3セルの値は2です。xpath、id、nameなどはわかりません。セルテーブルの1つのセルからid、xpah、nameなどのようなロケータを使用せずに1つの要素を見つける方法

どのようにしてtdとtrを使うことができますか?

サンプルテーブル

WebElement table= driver.findElement(By.id("table")); 

/* List of all rows*/ 
List< WebElement> rows = table.findElement(By.tagName("tr")); 

int row_count = rows.size(); 

/*Looping rows*/ 
for(int i=0;i< row_count;i++) 
{ 

/* List all columns*/ 
List < WebElement> columns = rows.findElement(By.tagName("td")); 

int column_count= columns.size(); 

    for(int j=0;j< column_count ; j++) 
    { 
    String celltext= columns.get(j).getText(); 

    System.out.println(celltext); ///This will print all values inside the table. 

    ////But I want only one value from one cell, suppose from first row and third column 
    } 
} 
+0

試したサンプルコードを追加してください。 – Jay

答えて

0

あなたtdセルの値が2であり、他の細胞は、このxpath試す価値2を持っていない場合は、あなたが言っているとおり: -

//td[text() = '2'] 

または

//tr[1]/td[text() = '2'] 

あなたがセル値は、(あなたは、Javaを使用している面白い)以下のようにしてみてください取得するアリ: -

WebElement table= driver.findElement(By.id("table")); 
String cellValue = driver.findElement(By.xpath("//table/tr[1]/td[3]")).getText() 

編集: - あなたは以下のように最初の行3列目からテキストを取得しようとする必要があります: -

String thirdColumnText = table.findElement(By.tagName("tr")).get(0).findElements(By.tagName(td)).get(3).getText(); 

: - より多くの、より良い解決策は、あなたのテーブルを共有する必要がHTML

が...それが役に立てば幸い:)

+0

サンプルテーブルを見つけてください。はい、私はJavaを使用しています –

+0

@padmajyotibora更新された答えを試してください..うまくいきます –

関連する問題