最近无聊,就用java爬了下凡人修仙传的内容,具体不多说,看代码图
package testNG;
//连续两章读取 根据xpath中
//根据参数读取
import static org.junit.Assert.assertTrue;
import java.sql.Driver;
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.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class NewTest {
WebDriver driver;
public void begin() {
// 第一个页面
driver.findElement(By.id(“kw”)).sendKeys(“凡人修仙传”);
driver.manage().timeouts().implicitlyWait(1000, TimeUnit.SECONDS);
driver.findElement(By.id(“su”)).click();
driver.manage().timeouts().implicitlyWait(1000, TimeUnit.SECONDS);
driver.findElement(By.xpath("//[@id=‘7’]/h3/a")).click();
/
WebElement zhang=driver.findElement(By.xpath("//*[@id=‘list’]/dl/dd"));
System.out.println(zhang);
for (WebElement a: zhang){
System.out.println(a.getAttribute(“href”));//获取标签路径
}*/
}
public static int pageone=500;
public static int pagetwo=501;
// int array[]=[];
public void one(){
begin();
// 第二个页面
driver.manage().timeouts().implicitlyWait(1000, TimeUnit.SECONDS);
// 转换窗口
tiaozhuan();
// 与当前页面作比较 是 就跳过执行
driver.findElement(By.xpath("//*[@id=‘list’]/dl/dd["+pageone+"]/a")).click();
driver.manage().timeouts().implicitlyWait(1000, TimeUnit.SECONDS);
// 获取页面源代码 断言出现文字
String b=driver.getPageSource();
assertTrue(b.contains(“修真小说”));
// 跳转页面
WebElement a=driver.findElement(By.id(“content”));
System.out.println(a.getText());
}
@Test
public void two(){
one();
// 跳转第一个界面
driver.findElement(By.xpath("//[@id=‘wrapper’]/div[4]/div/div[1]/a[3]")).click();
// tiaozhuan();
driver.findElement(By.xpath("//[@id=‘list’]/dl/dd["+pagetwo+"]/a")).click();
driver.manage().timeouts().implicitlyWait(1000, TimeUnit.SECONDS);
// 转换窗口
//tiaozhuan();
// 与当前页面作比较 是 就跳过执行
//driver.findElement(By.xpath("//*[@id=‘list’]/dl/dd[1]/a")).click();
//driver.manage().timeouts().implicitlyWait(1000, TimeUnit.SECONDS);
// 获取页面源代码 断言出现文字
String b=driver.getPageSource();
assertTrue(b.contains(“修真小说”));
// 跳转页面
WebElement a=driver.findElement(By.id(“content”));
System.out.println(a.getText());
}
@BeforeMethod
public void beforeMethod() {
System.setProperty(“webdirver.chrome.driver”, “C://chromedriver.exe”);
driver=new ChromeDriver();
driver.get(“”);
}
@AfterMethod
public void afterMethod() {
driver.manage().timeouts().implicitlyWait(1000, TimeUnit.SECONDS);
driver.quit();
}
public void tiaozhuan(){
String handle=driver.getWindowHandle();
for(String handles :driver.getWindowHandles()){
if(handles.equals(handle)){
continue;
}
driver.switchTo().window(handles);
}
driver.manage().timeouts().implicitlyWait(1000, TimeUnit.SECONDS);
}
}