1.需求
循环遍历慕课网实战课程页面!
2.遍历课程的第一种方式
思路:使用findElements()获取所有课程元素的集合,然后循环遍历之!
完整代码如下:
package com.imooc.day02;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
/**
* 遍历课程
*
* @author HW
* @version V1.0
*
*/
public class CourseListTest {
public WebDriver driver;
@BeforeTest
public void beforeTest() {
System.setProperty("webdriver.chrome.driver",
"C:\\Users\\HW\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe");
driver = new ChromeDriver();
String baseUrl = "https://coding.imooc.com/";
driver.get(baseUrl);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
}
@Test
public void testCourseList() {
// 获取所有的课程元素列表
List<WebElement> courseEleList = driver.findElements(By.className("shizan-name"));
for (int i = 0; i < courseEleList.size(); i++) {
// 关闭"新人专享大礼包"
driver.findElement(By.className("js-close")).click();
// 点击课程元素
courseEleList.get(i).click();
// 返回上一页
driver.navigate().back();
}
}
@AfterTest
public void afterTest() {
driver.close();// 关闭浏览器
}
}
2.1 报页面元素过期异常
Run