3

我正在尝试下面的代码来获取表行,但我需要选择表中不同位置的行。

    @测试
    公共无效 testRowSelectionUsingControlKey() {
        列出 tableRows = driver.findElements(By.xpath("//table[@class='iceDatTbl']/tbody/tr"));
        for(int i=0; i<tableRows.size(); i++){
            System.out.println(tableRows.get(i).getText());
        }

4

3 回答 3

4

要选择表格中不同位置的表格行,您需要使用 Action Class,然后您可以使用 CTRL 按钮选择所需的元素。假设我需要选择表格的第一行和第四行,我将执行以下操作:

例如:

    公共无效 testRowSelectionUsingControlKey() {
        列出 tableRows = driver.findElements(By.xpath("//table[@class='iceDatTbl']/tbody/tr"));
        动作生成器 = 新动作(驱动程序);
        builder.click(tableRows.get(1)).keyDown(Keys.CONTROL).click(tableRows.get(4)).keyUp(Keys.CONTROL).build().perform();
    }

于 2013-09-05T09:22:56.557 回答
0
@Test
    public void testRowSelectionUsingControlKey() {
        List tableRows = driver.findElements(By.xpath("//table[@class='iceDatTbl']/tbody/tr"));
        for(int i=0; i<tableRows.size(); i++){
            System.out.println(tableRows.get(i).getText());
        }
于 2021-12-26T14:26:43.327 回答
0

上面的示例与 Selenium 和 C# 完美配合,并进行了以下细微修改:

public void testRowSelectionUsingControlKey() {
    var tableRows = driver.findElements(By.xpath("//table[@class='iceDatTbl']/tbody/tr"));
    Actions builder = new Actions(driver);
    builder.Click(tableRows[1]).keyDown(Keys.Control).Click(tableRows[4]).keyUp(Keys.Control).Build().Perform();
}
于 2017-05-23T11:19:05.773 回答