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

我正在尝试打印按钮的文本,但是每次我的 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 次文本。


我当前的输出: Appium Appium Appium Appium


预期输出 Appium Selenium API 测试


守着星空守着你
浏览 106回答 1
1回答

梦里花落0921

代替for 循环,您可以像这样为每个循环寻找:请注意,我正在使用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());}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java