java - 如何单击位于表格 Selenium 单元格中的元素

标签 java selenium selenium-webdriver xpath pageobjects

我编写了通过行号和列名从单元格获取文本值的方法。

public String getValueFromCell(int rowNumber, String columnName){
        List<Map<String, WebElement>> rowsWithColumnsByHeadings = getRowsWithColumnsByHeadings();
        return rowsWithColumnsByHeadings.get(rowNumber - 1).get(columnName).getText();
    }

但是单元格中有图标(正如您在屏幕截图中看到的,可以有一个、两个或四个图标) Icons with Xpath

现在我想点击所有这些。或者点击特定图标

我必须承认,该表位于许多页面上,单元格中的图标数量不同,我想对所有页面使用此方法。

如何修改这个方法?或者我该怎么办?

最佳答案

请检查以下解决方案:

如果你想点击特定的图标元素,那么你可以使用 rowNumber 索引来点击它,只需在点击元素之前检查使用 Action 类的 moveToElement 即可:

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();
    }

或者如果您想一一单击所有这些:

    List<WebElement> elements = driver.findElements(By.className("mat-icon.mat-icon.notranslate.material-icon.mat-icon-n0-color"));
    elements.forEach(e -> {
        e.click();

    });

关于java - 如何单击位于表格 Selenium 单元格中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60913525/

相关文章:

java - java CompletableFuture 相当于 scala Future 的救援和句柄是什么

java - KeyDown() 、sendKeys() 在 Selenium 中不起作用

java - 使用 Java 在 Selenium WebDriver 中实现数组

c# - 我们可以使用 Selenium/Appium 验证网页/移动应用程序上的文本对齐吗

java - 如何在 Mac 上更改 JAR 图标?

java - 从 C 读取和解释 JVM 内存

angularjs - Selenium Fluent WebDriver - 单击无法按预期工作

java - 如何找到下拉菜单中选定的选项?

python - 使用selenium python问题选择元素

java - 通过 CLI 执行 testng.xml 时出错 : Could not find or load main class org. testng.TestNG