java+selenium
1.环境配置
1.1 jdk安装
自行百度教程安装 | |
---|---|
1.2 IDE安装自行百度教程安装(推荐eclipse)
本人使用汉化版:https://www.52pojie.cn/forum.php?mod=viewthread&tid=1182221&highlight=Eclipse | |
---|---|
1.3 Selenium Webdrive库下载
本人使用:http://selenium-release.storage.googleapis.com/index.html?path=4.0/ | |
---|---|
1.4 chromedriver驱动
根据浏览器版本自行搜索下载 | |
---|---|
以上都准备好后,打开eclipse依次创建新项目、新建包、新建类、导入Webdrive库。
2.元素定位
主要有id,name,class name,link text,xpath,css selector,tag name ,partial link tex等方法。
如:driver.findElement(By.id(“kw”)).sendKeys(“哈哈哈哈”);
推荐b站搜索java+selenium
3.基于selenium+java实例
3.1 实现百度搜索
package test5555;
import org.openqa.selenium.By;
import org.openqa.selenium.chrome.ChromeDriver;
public class test321 {
public static void main(String[] args) throws InterruptedException {
//设置驱动
System.setProperty("webdriver.chrome.driver", "C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe");
//C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe"为驱动所在路径
//创建ChromeDriver对象
ChromeDriver driver = new ChromeDriver();
//打开百度网页
driver.get("https://www.baidu.com");
//创建窗口最大化
driver.manage().window().maximize();
String titile = driver.getTitle();
//打印出页面title
System.out.println("titile is =>"+titile);
//定位输入框并写入哈哈哈哈
driver.findElement(By.id("kw")).sendKeys("哈哈哈哈");
//定位百度一下按钮并进行点击
driver.findElement(By.xpath("//input[@id='su']")).click();
//延时5s
Thread.sleep(5000);
//关闭浏览器
driver.close();
}
}
3.2 京东PLUS会员登陆页面部分实现
由于京东登陆界面在新的标签页展示,故需要将元素定位页面转移至最新浏览器标签页。否则无法定位元素,此部分仅仅实现了选择账户登录(因不熟悉元素定位不会自动转至最新标签摸索很久)。
package tttttt2;
import org.openqa.selenium.By;
import org.openqa.selenium.chrome.ChromeDriver;
public class openjd {
private static ChromeDriver driver;
public static void main(String[] args) throws InterruptedException {
// 打开网址
open();
System.out.println(driver.getCurrentUrl());
driver.findElement(By.linkText("PLUS会员")).click();
Thread.sleep(1000);
//转移至最新页面
newpage();
System.out.println(driver.getCurrentUrl());
driver.findElement(By.xpath("//a[@class='q-link']")).click();
//driver.findElement(By.linkText("账户登录")).click();
}
//打开京东网址
public static void open() {
System.setProperty("webdriver.chrome.driver", "C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe");
driver = new ChromeDriver();
driver.manage().window().maximize();
driver.get("https://www.jd.com");
}
//转移至最新页面
public static void newpage() {
String fiString=driver.getWindowHandle();
for(String win :driver.getWindowHandles()) {
if (win.equals(fiString))
continue;
driver.switchTo().window(win);
}
}
}