WebDriver driver = new FirefoxDriver();
打开IE浏览器WebDriver driver = new InternetExplorerDriver ();
打开HtmlUnit浏览器WebDriverdriver = new HtmlUnitDriver();
打开chrome浏览器WebDriverdriver = new ChromeDriver();
WebDriver driver = new FirefoxDriver(); driver.manage().window().maximize();
WebDriver driver = new FirefoxDriver();
driver.close(); driver.quit();P.S.navigate方法会产生1个Navigator对象,其封装了与导航相关的一些方法,比如前进后退等
Webdriver提供下面两种方法来定位页面元素,参数是By对像,最常用是By.id和By.name查找。
findElement 定位某个元素,如果没有找到元素会抛出异常:NoSuchElementExceptionfindElements 定位一组元素例如需要定位如下元素:
<input class="input_class" type="text" name="passwd" id="passwd-id" />
By.id:WebElement element = driver.findElement(By.id("passwd-id"));
By.name:WebElement element = driver.findElement(By.name("passwd"));
By.xpath:WebElement element =driver.findElement(By.xpath("//input[@id='passwd-id']"));
By.classNameWebElement element = driver.findElement(By.className("input_class"));
By.cssSelectorWebElement element = driver.findElement(By.cssSelector(".input_class"));
By.linkText://通俗点就是精确查询
WebDriver driver = new FirefoxDriver(); driver.get("http://www.baidu.com/"); WebElement element = driver.findElement(By.linkText("百科"));
By.partialLinkText://这个方法就是模糊查询 WebDriver driver = new FirefoxDriver(); driver.get("http://www.baidu.com/"); WebElement element = driver.findElement(By.partialLinkText("hao"));
By.tagName:WebDriver driver = new FirefoxDriver(); driver.get("http://www.baidu.com/"); String test= driver.findElement(By.tagName("form")).getAttribute("name"); System.out.println(test);
WebElement element = driver.findElement(By.id("passwd-id"));
element.sendKeys(“test”);//在输入框中输入内容:element.clear(); //将输入框清空element.getText(); //获取输入框的文本内容:Select select = new Select(driver.findElement(By.id("select")));
select.selectByVisibleText(“A”);select.selectByValue(“1”); select.deselectAll();select.deselectByValue(“1”);select.deselectByVisibleText(“A”);select.getAllSelectedOptions();select.getFirstSelectedOption();WebElement radio=driver.findElement(By.id("BookMode"));
radio.click(); //选择某个单选项radio.clear(); //清空某个单选项radio.isSelected(); //判断某个单选项是否已经被选择WebElement checkbox = driver.findElement(By.id("myCheckbox."));
checkbox.click();checkbox.clear();checkbox.isSelected();checkbox.isEnabled();WebElement btn= driver.findElement(By.id("save"));
btn.click(); //点击按钮btn.isEnabled (); //判断按钮是否enableAlert alert = driver.switchTo().alert();
alert.accept(); //确定alert.dismiss(); //取消alert.getText(); //获取文本Form中的元素的操作和其它的元素操作一样,对元素操作完成后对表单的提交可以:
WebElement approve = driver.findElement(By.id("approve"));
approve.click();
或
approve.submit();//只适合于表单的提交
上传文件的元素操作:
WebElement adFileUpload =driver.findElement(By.id("WAP-upload"));
String filePath = "C:\test\\uploadfile\\media_ads\\test.jpg";
adFileUpload.sendKeys(filePath);
Web driver对Java Script的调用是通过JavascriptExecutor来实现的,例如:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("JS脚本");
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //识别元素时的超时时间driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); //页面加载时的超时时间driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS); //异步脚本的超时时间