【秦菲】介绍一种好玩的for用法: for(类型 对象:集合)

第一种for循环

    for(WebElement a:links){
        System.out.println(a.getText());
}

第二种for循环

    for(int i=0;i<links.size();i++ ){
    	System.out.println(links.get(i).getText());
}


这两种方法最终效果是一样的,我们可以把第二种for循环理解成一个foreach
两者之间的区别,大家可以点击该链接http://wenku.baidu.com/view/6a84177bf242336c1eb95eb1.html
我之所以觉得好玩,是因为第一种for循环,那么短短的一句话就可以代替第二种for循环的三个语句,以前没有看到过,今天看到真心觉得好耍,所以给大家分享一下。欢迎高手能留言指教!

下面把附加完整的selenium代码,效果:获取百度首页所有链接的text

import static org.junit.Assert.assertEquals;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;

import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class Test003 {
  private WebDriver driver;
  private String baseUrl;
  public List links=new ArrayList<>();//因为List是一个接口,所以我们这里需要new一个实现类

  @Before
  public void setUp() throws Exception {
    driver = new InternetExplorerDriver();
    baseUrl = "http://www.baidu.com/";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

  }

  @Test
  public void testUntitled() throws Exception {
    driver.get(baseUrl);
    links=driver.findElements(By.id("nv"));
    for(WebElement a:links){
        System.out.println(a.getText());
}

}

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据