1. 程式人生 > 實用技巧 >基本方法

基本方法

一、基本方法介紹

以操控chrome瀏覽器為例,進入登入頁

//new一個ChromeDriver物件
WebDriver webDriver = new ChromeDriver();

//最大化視窗
webDriver.manage().window().maximize();

//刪除所有的cookies
webDriver.manage().deleteAllCookies();

//設定超時時間為10
webDriver.manage().timeouts().implicitlWait(10,TimeUnit.SECONDS);

//進入登入頁面 get裡的內容為網址
webDriver.get("http://localhost:8080/als8c-web");

查詢元素

//by id
WebElement webElement = webDriver.findElement(By.id("account"));

//by name
WebElement webElement = webDriver.findElement(By.name("account"));

//by classname
WebElement webElement = webDriver.findElement(By.className("account"));

//by tagname
WebElement webElement = webDriver.findElement(By.tagName("div"));

//by css
//css方式定位很靈活 如定位 "class=ff" 的form下的span下的"id=in"input
WebElement webElement = webDriver.findElement(By.cssSelector("form.ff>span>input#in"));

//匹配div後同級的所有input
webElement = WebDriver.findElement(By.cssSelector("div+input"));

//查詢form下第二個inpt標籤元素
webElement = WebDriver.findElement(By.cssSelector("form>input:nth-child(2)"));

//by xpath 匹配所有的a標籤
webElement = WebDriver.findElement(By.xpath("//a"));

//匹配title='儲存'的a標籤
webElement = WebDriver.findElement(By.xpath("//a[@title='儲存']"));

下拉框元素選擇

new Select(webDriver.findElement(By.id("REPAYTYPE"))).selectByIndex(1);//【--請選擇--】後,第一個選項

new Select(webDriver.findElement(By.id("REPAYTYPE"))).selectByValue();//通過value

new Select(webDriver.findElement(By.id("REPAYTYPE"))).selectByVisibleText();//通過文字

切換iframe

//切換到最上層
webDriver.switchTo().defaultContent();

//切換到父iframe
webDriver.switchTo().parentFrame();

//切換到當前層指定的iframe層中
webDriver.switchTo().frame(webDriver.findElements(By.xpath("//div[@i='dialog']/table/tbody/tr/td/div/iframe")).get(0));

//三種引數
WebDriver frame(int index); //第幾個
WebDriver frame(String nameOrId);//iframe的name或則id
WebDriver frame(WebElement frameElement);//定位元素