包皮:
私は、行番号と列名によって、細胞からのテキスト値を取得する方法を書きました。
public String getValueFromCell(int rowNumber, String columnName){
List<Map<String, WebElement>> rowsWithColumnsByHeadings = getRowsWithColumnsByHeadings();
return rowsWithColumnsByHeadings.get(rowNumber - 1).get(columnName).getText();
}
しかし、細胞内のアイコンは、(あなたがスクリーンショットで見ることができるように、1、2、または4つのアイコンがあることができます)があります
そして今、私はそれらのすべてをクリックします。または特定のアイコンをクリックしてください
そして私は、このテーブルは、セル内のアイコンの異なる数を持つ多くのページに配置されていることを認めなければならない、と私はそれらのすべてのために、このメソッドを使用します。
どのように私はこの方法を変更することができますか?または私は何をすべきでしょうか?
Dipak Bachhav:
ソリューションの下に確認してください。
あなたが特定のアイコンの要素をクリックします次に、あなただけがチェックそれ以外の要素にクリックしながら前にActionクラスを使用してmoveToElementを使用し、それをクリックするROWNUMBERインデックスを使用することができます。
public String getValueFromCell(int rowNumber, String columnName){
List<Map<String, WebElement>> rowsWithColumnsByHeadings = getRowsWithColumnsByHeadings();
List<WebElement> elements = driver.findElements(By.className("mat-icon.mat-icon.notranslate.material-icon.mat-icon-n0-color"))
elements.get(rowNumber).click()
return rowsWithColumnsByHeadings.get(rowNumber - 1).get(columnName).getText();
}
またはあなたが1でそれら1のすべてをクリックします:
List<WebElement> elements = driver.findElements(By.className("mat-icon.mat-icon.notranslate.material-icon.mat-icon-n0-color"));
elements.forEach(e -> {
e.click();
});