selenium的常用方法
ChromeDriver driver = new ChromeDriver();
1,获取当前页面的路径
String url1 = driver.getCurrentUrl();
2,获取当前页面的标题
String title1 = driver.getTitle();
3,跳转到最新的页面
//每个页面都自己的唯一句柄,所以可以通过页面的句柄,跳转到指定页面
String window = driver.getWindowHandle();//获取当前页面的句柄
Set<String> windowHandles = driver.getWindowHandles();//获取访问过页面的所有句柄
for (String handle : windowHandles) {
if (!window.equals(handle)){
System.out.println("跳转到最新打开的页面中");
driver.switchTo().window(handle);//跳转到新的页面
System.out.println("页面的句柄:" + handle);
}
}
4,窗口大小
driver.manage().window().maximize();//窗口最大化
driver.manage().window().minimize();//窗口最小化
driver.manage().window().setSize(new Dimension(800,600));//设置指定尺寸
5,selenium执行脚本
driver.executeScript("window.scroll(0,document.body.scrollTop)");
driver.executeScript("window.scroll(0,document.body.scrollHeight)");
6,导航(nacigate接口)
1),前进:driver.navigate().forword()
2),后退driver.navigate().forword()
driver.get("https://tool.lu/");
Thread.sleep(2000);
driver.findElement(By.cssSelector("#nav > div > div > ul > li:nth-child(1) > a")).click();
Thread.sleep(2000);
driver.navigate().back();//后退
Thread.sleep(2000);
driver.navigate().forward();//前进
7,弹窗(Alert接口)
1),普通弹窗的操作思路:
driver.get("网页的url");//绑定网页
WebElement element = driver.findElement(By.cssSelector("弹出弹窗的按钮的class"));
element.click();//点击按钮
WebElement element1 = driver.findElement(By.cssSelector("找到关闭弹窗的属性"));
element.click();//点击关闭弹窗
2),警告弹窗处理思路:
driver.get("网页的url");
driver.findElement(By.xpath("点击会出现警告弹窗的链接的xpath")).click();
Alert alert = driver.switchTo().alert();//获取弹窗事件
//警告弹窗的class和id无法被全段代码定位,所以点击不需要通过找到属性的xpath或这css样式
//直接接收
alert.accept();//点击确认按钮
alert.dismiss();//点击取消
3),输入弹窗处理思路:
driver.get("网页的url");
driver.findElement(By.xpath("点击会出现警告弹窗的链接的xpath")).click();
Alert alert = driver.switchTo().alert();//获取弹窗事件
//警告弹窗的class和id无法被全段代码定位,所以点击不需要通过找到属性的xpath或这css样式
//直接接收
alert.sendKeys("要输入的文本信息");//
alert.accept();//点击确认按钮
alert.dismiss();//点击取消
8,鼠标键盘操作(Actions接口)
selenuim提供actions来模仿鼠标和键盘的操作
driver.get("要测试的网页");
WebElement element = driver.findElement(By.cssSelector("想要操作的元素"));
Actions actions = new Actions(driver);//常见模拟鼠标键盘操作
actions.clickAndHold(element).perform();//将鼠标移动到需要操作的位置并保持,演示
actions.click(element).perform();//演示点击效果
actions.sendKeys("键盘的操作").perform();//从模拟键盘输入
9,模拟复选框(Select接口)
driver.get("要测试的网页");
WebElement element = driver.findElement(By.cssSelector("复选框classID"));
Select select = new Select(element);
select.selectByIndex(1);//通过索引选择列表项,索引从0开始
select.selectByValue("name");//通过value值来选择列表项
select.selectByVisibleText("列表项的文本内容");//通过可见文本来选择
10,文件的上传
selenium不能狗拉起系统的其他程序的窗口,因此可以使用sendKeys(“文件路径”)上传文件
driver.get("要测试的网页");
WebElement element = driver.findElement(By.cssSelector("上传文件的classID"));
element.sendKeys("文件路径");//selenium无法拉取系统的其他程序,采用输入文件路径的方式,上传文件
11,页面刷新
driver.get("要测试的网页");
driver.navigate().refresh();//刷新页面
12,屏幕截图
driver.get("http://www.baidu.com");
driver.findElement(By.cssSelector("#kw")).sendKeys("selenium");
driver.findElement(By.cssSelector("#su")).click();
//屏幕截图
File file = new File("./src/test/screenShut/my.png");
File screenshot = driver.getScreenshotAs(OutputType.FILE);
try {
FileUtils.copyFile(screenshot,file);
} catch (IOException e) {
e.printStackTrace();
}
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(2));
driver.findElement(By.cssSelector("#\\31 > div > div > h3 > a"));
版权归原作者 小趴菜学java 所有, 如有侵权,请联系我们删除。