首页 > 代码库 > [selenium webdriver Java]常用api
[selenium webdriver Java]常用api
1. 获取元素文本
WebElement类的getText()方法返回元素的innerText属性。所以元素里如果有子节点一样也会被返回出来。如下所示
1 public class GetText { 2 @Test 3 public void testGetText(){ 4 //启动driver,打开被测页面 5 System.setProperty("webdriver.chrome.driver", "chromedriver.exe"); 6 WebDriver driver = new ChromeDriver(); 7 driver.get("http://map.baidu.com"); 8 9 //等待一段时间,使得页面加载完成,避免出现无法找到元素的问题10 try{11 Thread.sleep(2000);12 }catch(Exception e){13 14 }15 16 //取得元素17 WebElement message = driver.findElement(By.className("open-map"));18 19 //获得元素文本20 String messageText = message.getText();21 22 //验证文本为“查看短租、求职、订餐、天气等更多专题地图 >>”23 Assert.assertEquals(messageText, "查看短租、求职、订餐、天气等更多专题地图 >>");24 25 //可使用java string api方法进行部分匹配26 Assert.assertTrue(messageText.contains("求职"));27 Assert.assertTrue(messageText.startsWith("查看短租"));28 Assert.assertTrue(messageText.endsWith(">>"));29 30 //关闭driver31 driver.quit();32 }33 }
2. 获取元素属性值
WebElement类的getAttribute()返回元素的属性值
3. 获取元素的css属性值
WebElement类的getCSSvalue()方法将返回元素的样式属性值
4. 在元素上执行鼠标双击
Actions类的doubleClick()方法
5. 执行JavaScript代码
JavascriptExecutor接口,可以任意执行JavaScript代码,尤其适用于一些Selenium WebDriver目前不支持的操作
((JavascriptExecutor) driver).executeScript(script);
6. 浏览器窗口最大化
driver.manage().window().maximize();
7. 处理windows进程
selenium WebDriver java 提供了windowsUtils类来和Windows系统交互。在测试开始时,我们需要关掉一些已经存在的进程。
1 public class KillWindows { 2 3 @Test 4 public void test(){ 5 6 //关闭ie浏览器进程 7 WindowsUtils.tryToKillByName("iexplore.exe"); 8 9 System.setProperty("webdriver.chrome.driver", "chromedriver.exe");10 WebDriver driver = new ChromeDriver();11 driver.get("http://www.baidu.com");12 13 driver.quit();14 }15 }
我们可以使用tryToKillByName方法来关闭任何的windows进程。
如果这个进程不存在则会抛出一个异常,但是,测试还是会正常的执行下去
8. 阅读/修改windows注册表中的值
WindowsUtils类提供了多种方法和windows操作系统的注册表进行交互。如果测试是运行在windows操作系统上的IE浏览器,则可能需要修改一些IE注册表里的设置。使用WindowsUtils类可以很方便的解决这个问题。
根据不同的返回值数据类型,可选择以下几种方法:
readStringRegistryValue()
readIntergerRegistryValue()
readBooleanRegistryValue()
修改:
writeStringRegistryValue()
writeIntergerRegistryValue()
writeBooleanRegistryValue()
[selenium webdriver Java]常用api