我正在尝试打印按钮的文本,但是每次我的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次文本。
我当前的输出: 阿皮 阿皮 阿皮 鸦片
预期输出 阿皮 硒 API 测试
答案 0 :(得分:1)
代替 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());
}