driver.findElement(By.xxx),可以根据实际项目情况,选择是用id、classname 或者 xpath.....等哪一种方式定位
1.input输入框赋值
driver.findElement(By.className("form-input")).sendKeys("输入框输入内容");
2.radio、button点击
driver.findElement(By.className("button")).click();
3.下拉选择
Select sel=new Select(driver.findElement(By.className("form-input")));
sel.selectByIndex(0);
4.鼠标悬浮到按钮,点击子菜单
WebElement mouse = driver.findElement(By.cssSelector("#navbar img"));//鼠标放上去的菜单Actions action = new Actions(driver);
action.moveToElement(mouse).perform();
Thread.sleep(3000);
driver.findElement(By.cssSelector("#navbar li:nth-child(6)")).click();//需要点击的子菜单
5.判断元素是否显示
driver.findElement(By.className("btn-agree")).isDisplayed();
6.利用js实现元素的控制
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementById('name').value='姓名'");
7.利用jquery实现元素的控制
web页面一般都有加载jquery库,所以就不用在脚本中加载了,直接使用jquery就好
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("$('#name').val('姓名')");
8.时间、日期选择控件处理方法
//先去掉控件的不可写属性,然后再当做一般的输入框赋值
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementById('liveTime').removeAttribute('readonly')");
driver.findElement(By.id("liveTime")).click();
Thread.sleep(3000);
driver.findElement(By.id("liveTime")).sendKeys(liveTime);
9.alert按钮
Alert confirm = driver.switchTo().alert();
//验证弹框的文字是否与期望的一致
if (confirm.getText().equals(text)) {
confirm.accept();
}
10.操作dialog弹框
driver.findElement(By.className("choosetag-btn")).click();//点击按钮,页面弹出页面
Thread.sleep(3000);
//切换到弹窗页面操作数据
driver.switchTo().frame("choose_tag_dialog");
Thread.sleep(3000);
//对弹框页面点击按钮小时候,应该切回到主页面
driver.switchTo().defaultContent();
Thread.sleep(3000);
11.当前页面弹出一个新的浏览器页面,对新的浏览器页面进行操作
// 获取当前页面句柄
String handle = driver.getWindowHandle();
// 获取所有页面的句柄,并循环判断不是当前的句柄
for (String handles : driver.getWindowHandles()) {
if (handles.equals(handle))
continue;
driver.switchTo().window(handles);
}
//之后就可以操作心得浏览器页面的元素了