日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Selenium2之Web自动化编写API(Java)

發布時間:2024/8/26 java 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Selenium2之Web自动化编写API(Java) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、元素的定位

ID定位元素:

findElement(By.id(element));?

通過元素的名稱定位元素:

findElement(By.name(element));??

通過元素的html中的位置定位元素:

findElement(By.xpath(element));?

通過元素的標簽名稱定位元素:

findElement(By.tagName(element));?

通過元素的鏈接名稱定位元素:

findElement(By.linkText(element));?

通過元素的類名定位元素:

findElement(By.className(element));?

通過元素的css定位元素:

findElement(By.cssSelector(element));?

通過元素的部分鏈接名稱定位元素:

findElement(By.partialLinkText(element));

二、元素操作

模擬鼠標點擊:driver.click();

打開網頁:driver.get("https://www.baidu.com");

關閉網頁:driver.close();

在輸入框中輸入內容:text.sendKeys(“”);

清空輸入框中的內容:text.clear();

獲取輸入框中的內容:text.getText();

選擇下拉框中的元素:

Select select = new Select(wd.findElement(By.id("select")));

切換到某個frame:

driver.switchTo().frame("");

從一個frame切換到另一個frame:

driver.switchTo().frame("");

切換到某個window:

driver.switchTo().window("windowName");

返回父iframe:(一般在跳轉frame之前都寫上這個語句)

driver.switchTo().defaultContent();

刷新頁面:driver.navigate().refresh();

頁面前進后退:

driver.navigate().forward();

driver.navigate().back();

三、鼠標操作

常用的鼠標右擊、雙擊、懸停、拖動等功能都封裝在Actions類中。

代碼MouseOperation.java,鏈接:http://pan.baidu.com/s/1i5zmwoX 密碼:n88i

perform()執行所有Actions中存儲的行為
contextclick()右擊
click()左擊
doubleclick()雙擊
dragAndDrop() 拖動
moveToElement() 鼠標懸停
// 左擊實現(和元素的click類似)Actions action = new Actions(driver);WebElement test = driver.findElement(By.xpath("//div[2]/span[2]"));action.click(test).perform(); // 雙擊實現 new Actions(driver). doubleClick (driver.findElement(By.xpath("//div[2]/span[2]"))).perform(); // 懸停 到更多按鈕 new Actions(driver). moveToElement (driver.findElement(By.xpath("//*[@id='topPanel']/ul/li[3]/a"))).perform();

四、常用input操作

輸入框(text field or textarea)

WebElement element = driver.findElement(By.id("passwd-id"));

  • element.sendKeys(“test”);//在輸入框中輸入內容:
  • element.clear();?? //將輸入框清空
  • element.getText();?? //獲取輸入框的文本內容:

下拉選擇框(Select)

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();

單選項(Radio Button)

WebElement radio=driver.findElement(By.id("BookMode"));

  • radio.click();?? //選擇某個單選項
  • radio.clear();? //清空某個單選項
  • radio.isSelected();  //判斷某個單選項是否已經被選擇

多選項(checkbox)

WebElement checkbox = driver.findElement(By.id("myCheckbox."));

  • checkbox.click();
  • checkbox.clear();
  • checkbox.isSelected();
  • checkbox.isEnabled();

按鈕(button)

WebElement btn= driver.findElement(By.id("save"));

  • btn.click();      //點擊按鈕
  • btn.isEnabled ();  //判斷按鈕是否enable

彈出對話框(Popup dialogs)

Alert alert = driver.switchTo().alert();

  • alert.accept();  //確定
  • alert.dismiss();  //取消
  • alert.getText(); //獲取文本

表單(Form)

  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);

Windows 和 Frames之間的切換

  • driver.switchTo().defaultContent();     //返回到最頂層的frame/iframe
  • driver.switchTo().frame("leftFrame");    //切換到某個frame:
  • driver.switchTo().window("windowName"); //切換到某個window

調用Java Script

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);  //異步腳本的超時時間

轉載于:https://www.cnblogs.com/MR-FANWB/p/7908552.html

總結

以上是生活随笔為你收集整理的Selenium2之Web自动化编写API(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。