Java+Selenium+Testng-web UI自动化测试框架-4Selenium定位和操作页面元素

Selenium 常用方法

打开浏览器

//初始化一个chrome浏览器实例,实例名称叫driver
WebDriver driver = new ChromeDriver();

//最大化窗口
driver.manage().window().maximize();

//打开一个站点
driver.get("https://www.baidu.com");

//getTitle()获取当前页面title的值
driver.getTitle();

//getTitle()获取当前页面url
driver.getCurrentUrl();
// to(String url)在当前页打开新的网页
driver.navigate().to("http://news.baidu.com");

// back()后退到百度首页
driver.navigate().back();

// forward() 前进到百度新闻
driver.navigate().forward();

// 刷新当前页
driver.navigate().refresh();

查找元素

//By id 查找元素
driver.findElement(By.id("kw"));

//By name
driver.findElement(By.name("wd"));

//By CSS
driver.findElement(By.cssSelector("#su"));

//By Xpath
driver.findElement(By.xpath(".//*[@id='su']"));

操作元素

//输入文本
driver.findElement(By.id("kw")).sendKeys("10");

//点击
driver.findElement(By.id("kw")).click();

//得到文本
driver.findElement(By.id("kw")).getText();

//清除文本
driver.findElement(By.id("kw")).clear();

//得到元素属性
driver.findElement(By.id("kw")).getAttribute("type");

//获得当前页面的title
driver.getTitle();

//获得当前页面的URL
driver.getCurrentUrl();

//提交表单。 例如,在搜索框输入关键字之后的“回车” 操作, 就可以通过 submit()方法模拟.
WebElement search_text = driver.findElement(By.id("kw"));
search_text.sendKeys("Selenium");
search_text.submit();

// 关闭并退出浏览器
driver.quit();

模拟键盘操作

WebElement input = driver.findElement(By.id("kw"));

//输入框输入内容
input.sendKeys("seleniumm");

//删除多输入的一个x
input.sendKeys(Keys.BACK_SPACE);

//输入空格键
input.sendKeys(Keys.SPACE);

//ctrl+a 全选输入框内容
input.sendKeys(Keys.CONTROL,"a");

//ctrl+x 剪切输入框内容
input.sendKeys(Keys.CONTROL,"x");

//ctrl+v 粘贴内容到输入框
input.sendKeys(Keys.CONTROL,"v");

//通过回车键盘来代替点击操作
input.sendKeys(Keys.ENTER);

模拟鼠标操作

//-------定义一个action对象
Actions action = new Actions(driver);

//-------单击操作
action.click();
action.click(searchBt);

//-------双击操作
action.doubleClick().perform();
action.doubleClick(searchBt).perform();

//-------悬停操作
action.clickAndHold().perform();
action.clickAndHold(searchBt).perform();

//-------右击操作
action.contextClick().perform();
action.contextClick(searchBt).perform();

//-------拖拽操作 从一个元素拖拽到目标元素
action.dragAndDrop(searchBt, searchBt).perform();

定位一组元素

//定位一组元素
List<WebElement> search_result = driver.findElements(By.xpath("//div/div/h3"));

多表单切换

WebElement xf = driver.findElement(By.xpath("//*[@id='loginDiv']/iframe"));
driver.switchTo().frame(xf);//driver切换到frame中
driver.switchTo().defaultContent();//driver跳出frame

多窗口切换

//获得当前窗口句柄
String handle = driver.getWindowHandle();

//获得所有窗口句柄
Set<String> handles = driver.getWindowHandles();

//切换窗口
driver.switchTo().window(handle);

猜你喜欢

转载自blog.csdn.net/weixin_42409365/article/details/88393191