有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从所有按钮打印文本?

我试图打印按钮的文本,但每次我的for循环运行时,我并没有从按钮获取下一个文本,而是第一个按钮的文本一直打印到控制台

谁能帮助我理解我在哪里犯了错误

public static void main(String[] args) throws InterruptedException {
    WebDriver driver = new FirefoxDriver();
    driver.get("http://www.example.com/example.php");
    for (int i = 1; i <= 4; i++) {
        System.out.println(driver.findElement(By.xpath("//div[@class='responsive- tabs responsive-tabs--enabled']/ul/li['+ i +']")).getText());
        Thread.sleep(3000);

    }
}

上面是我的代码,如果我尝试单独打印按钮的文本,而不是将其放入for循环,我可以打印,但是当我将相同的内容放入for循环时,我只会从第一个按钮获得4次文本

我的当前输出: 阿皮姆 阿皮姆 阿皮姆 阿皮姆

预期产出 阿皮姆 硒 美国石油学会 测试


共 (1) 个答案

  1. # 1 楼答案

    您可以像这样为每个循环选择,而不是for loop

    请注意,我使用的是findElements,因此我可以在列表上进行迭代

    List<WebElement> elements = driver.findElements(By.xpath("//div[@class='responsive- tabs responsive-tabs enabled']/ul/li"))
    for(WebElement ele : elements){
    System.out.println(ele.getText());
    }