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);
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值