1.测试前准备

下载驱动(以谷歌浏览器为例)    挑选与你当前谷歌浏览对应版本

查看浏览器的版本

Windows平台下载 win32那个 其他系统类推

2.新建项目

结构   将两个文件复制粘贴进去

Selenium.jar 需要build path 一下才能使用


熟悉一下操作浏览器的代码

package com.yang.demo;

import static org.junit.Assert.assertEquals;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class LaunchChrome {
	public static void main(String[] args) throws InterruptedException {
		// 加载驱动
		System.setProperty("webdriver.chrome.driver", ".\\tools\\chromedriver.exe");
		// 初始化
		WebDriver driver = new ChromeDriver();
		// 打开网址
		driver.get("https://www.baidu.com/s?wd=%E7%99%BE%E5%BA%A6%E7%83%AD%E6%90%9C&sa=ire_dl_gh_logo_texing&rsv_dl=igh_logo_pcs");
		// 最大化
		driver.manage().window().maximize();
		// 获取窗口的大小
		System.out.println(driver.manage().window().getSize());
		// 全屏
		driver.manage().window().fullscreen();
		// 睡眠
		Thread.sleep(2000);
		// 转向
		driver.navigate().to("https://www.baidu.com/");
		// 后退
		driver.navigate().back();
		// 前进
		driver.navigate().forward();
		// 刷新
		driver.navigate().refresh();
		// 得到标题
		System.out.println(driver.getTitle());
		// 得到网页源码
//		System.out.println(driver.getPageSource());
		// 得到当前url
		System.out.println(driver.getCurrentUrl());
		// 断言测试
//		assertEquals(driver.getCurrentUrl(),"www.baidu.com");
		System.out.println("通过");
		// 关闭一个标签页
//		driver.close();
		// 关闭所有标签页 直接退出浏览器
//		driver.quit();
		
		//页面加载超时等待
		driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
		//页面元素加载超时
		driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
		
	}
}

定位元素

package com.yang.demo;




import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class FindElements {
	public static void main(String[] args) throws InterruptedException {
		// 加载驱动
		System.setProperty("webdriver.chrome.driver", ".\\tools\\chromedriver.exe");
		// 初始化创建浏览器实例
		WebDriver driver = new ChromeDriver();
		
//		driver.get("http://news.cyol.com/node_60799.htm");
		//方法一 通过id查找  sendKeys("")输入
//		driver.findElement(By.id("kw")).sendKeys("test1");
		driver.manage().window().maximize();
//		driver.findElement(By.id("su")).click();
		//方法二 by xpath
//		driver.findElement(By.xpath("//*[@id=\"kw\"]")).sendKeys("test2");
//		Thread.sleep(3000);
		//方法三 linktext
//		driver.findElement(By.linkText("新闻")).click();
		//方法四通过class寻找  className不能有空格
//		driver.findElement(By.className("s_ipt")).sendKeys("test3");
//		driver.findElement(By.className("btn self-btn bg s_btn")).click();  无效
		//方法五by name
//		driver.findElement(By.name("kw")).sendKeys("test5"); // id classname 都可以
		//方法六By.patrtiallinktext  局部文字链接,链接文字太长,可以选择其中一部分文字
//		driver.findElement(By.partialLinkText("海南")).click();
		//方法7 By.cssSelector
//		driver.findElement(By.xpath("//*[@id=\"kw\"]")).sendKeys("bilibili");
//		driver.findElement(By.cssSelector("#su")).click();
		
//		List<WebElement> list=driver.findElements(By.xpath("//*[@id=\"s-top-left\"]"));
//		for(WebElement element:list) {
//			System.out.print(element.getText()+" ");
//		}
//		for(int i=0;i<list.size();i++) {
//			System.out.print(list.get(i).getText()+" ");
//		}
		//处理竖向滚动条  将driver转成js执行实例
//		JavascriptExecutor js=(JavascriptExecutor)driver;
//		js.executeScript("window.scrollTo(0,1000)");高度:0px滚动到1000px
//		js.executeScript("window.scrollTo(0,document.body.scrollHeight)");//滚动到底部
		
		//单选按钮和多选按钮的处理  //*[@id="div4"]/div[2]/div[1]/div
//		driver.findElement(By.xpath("//*[@id=\"div3\"]/div[2]/div[2]/div")).click();
		driver.get("https://www.wjx.cn/m/2792226.aspx/");
		List<WebElement> list=driver.findElements(By.xpath("/html/body/form/div[5]/div[3]/fieldset/div[5]/div[2]"));
		for(WebElement element:list) {
			element.click();
		}
		
//		处理弹窗
//		driver.get("http://news.cyol.com/node_60799.htm");
//		driver.switchTo().alert().accept(); //关闭弹窗
		
	}
}

xpath获取