基本方法
阿新 • • 發佈:2020-09-16
一、基本方法介紹
以操控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);//定位元素