访问某个网址:
driver.navigate().to(baseURL); //方法一
driver.get(baseURL); //方法二
模拟浏览器的前进后退:
driver.navigate().forward();
driver.navigate().back();
刷新当前页面
driver.navigate().refresh();
设置浏览器窗口位置
Point point = new Point(200,300);
driver.manage().window().setPosition(point);
driver.manage().window().getPosition(); //获取浏览器窗口的位置
设置浏览器窗口大小:
Dimension dimension = new dimension(700,800); //宽700,高800
driver.manage().window().setSize(dimension);
driver.manage().window().getSize(); //获取浏览器窗口的大小
获取当前页面的属性值
driver.getTitle(); //获取Title
driver.getPageSource(); //获取源代码
driver.getCurrentUrl(); //获取当前页面的URL地址
获取页面元素的属性值:
element.getAttribute("value"); //value属性值
element.getCssValue("width"); //css属性值中的宽度
获取某个元素的文本内容:
element.getText();
对输入框的操作:
WebElement input = driver.findElement(By.id("kw"));
input.clear(); //清空输入框中的值
input.sendKeys("selenium"); //输入指定的值
input.click(); //单击输入框
双击操作,doubleClick()方法
Actions action = new Actions(driver);
action.doubleClick(input).build().perform();
操作单选下拉菜单
//获取select标签下拉菜单name为fruit的全部元素
Select dropList = new Select(driver.findElement(By.name("fruit")));
Assert.assertTrue(dropList.isMultiple()); //判断下拉菜单是否多选
dropList.getFirstSelectedOption(); //获取当前所选的选项
dropList.getFirstSelectedOption().getText(); //获取当前所选选项的文本
dropList.selectByIndex(4); //通过索引值选中
dropList.selectByValue("shanzha"); //通过value属性值选中
dropList.selectByVisibleText("荔枝"); //通过选项显示的文字选中
获取下拉列表中的所有选项对象:
dropList.getOptions();
操作多选下拉菜单:
dropList.deselectAll(); //取消所有选中的选项
dropList.deselectByIndex(4); //通过索引值取消选中某个选项
dropList.deselectByValue("shanzha"); //通过value属性值取消选中某个选项
dropList.deselectByVisibleText("荔枝"); //通过选项的文字取消选中某个选项
判断某个单选按钮或者复选框是否被选中:
radioOption.isSelected()
checkbox.isSelected()
杀掉windows的浏览器进程
WindowsUtils.killByName("firefox.exe");
对当前浏览器窗口进行截图:
File screen = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(screen, new File("D:\\screenshot\\test.png"));
判断一段文本中是否包含某些文字
textInfo.contains("光荣之路");
textInfo.startsWith("《光荣");
textInfo.endsWith("很棒!");
执行JavaScript脚本
JavascriptExecutor js = (JavascriptExecutor) driver;
//javascript执行器对象的executeScript()方法
String title = (String) js.executeScript("return document.title");
拖拽页面元素
Actions action = new Actions(driver);
//表示将可拖拽元素draggable向下拖动20,向右拖动10。dragAndDropBy(WebElement source,int xOffset, int yOffset)
action.dragAndDropBy(draggable,10,20).build().perform();
模拟键盘操作
Actions action = new Actions(driver);
WebElement inputBox = driver.findElement(By.id("kw"));
action.keyDown(inputBox, keys.CONTROL).perform(); //keyDown(WebElement target, CharSequence key)
action.keyUp(inputBox, keys.COTROL).perform();
action.keyDown(inputBox, keys.SHIFT).sendKeys("abcdefg").perform();
模拟鼠标右键操作:
Actions action = new Actions(driver);
WebElement inputBox = driver.findElement(By.id("kw"));
action.contextClick(inputBox).perform();
模拟鼠标在指定元素上方进行悬停
Actions action = new Actions(driver);
WebElement baiduSettings = driver.findElement(By.id("s-usersetting-top"));
action.moveToElement(baiduSettings).perform();