selenium webdriver 模拟鼠标键盘的操作

上一篇 / 下一篇  2016-07-04 11:34:22 / 个人分类:Selenium

package com.selenium.Glen;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.*;
import org.openqa.selenium.interactions.HasInputDevices;
import org.openqa.selenium.support.ui.Select;

import com.gargoylesoftware.htmlunit.javascript.host.Document;

public class TestHelloWorld {

 public static void main(String[] args) throws InterruptedException {

  // 如果火狐浏览器没有默认安装在C盘,需要指定其路径
  System.setProperty("webdriver.firefox.bin",
    "C:/Program Files (x86)/Mozilla Firefox/firefox.exe");
  WebDriver driver = new FirefoxDriver();
  driver.get("http://wangzhi.com");

  driver.manage().window().maximize();

  WebElement username = driver.findElement(By.id("j_username"));
  username.sendKeys("wangfangfang");

  WebElement pw = driver.findElement(By.id("j_password"));
  pw.sendKeys("123456");

  WebElement login = driver.findElement(By
    .xpath(".//*[@id='loginForm']/button"));
  login.click();
  
  WebElement more = driver.findElement(By.linkText("更多>>"));
  more.click();

  // Store the current window handle
  String winHandleBefore = driver.getWindowHandle();

  // Switch to new window opened
  for (String winHandle : driver.getWindowHandles()) {
   System.out.println("+++" + winHandle);
   driver.switchTo().window(winHandle);
  }
  // Close the original window
  driver.switchTo().window(winHandleBefore);
  driver.close();

  // Switch to new window opened
  for (String winHandle : driver.getWindowHandles()) {
   System.out.println("+++" + winHandle);
   driver.switchTo().window(winHandle);
  }

  // 等待元素出现
  driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

  WebElement myCustomer = driver.findElement(By
    .xpath(".//*[@id='contentTable']/tbody/tr[22]/td[1]/a"));
  String a = myCustomer.getText();
  System.out.println(a);
  myCustomer.click();

  // Store the current window handle
  String winHandleBefore2 = driver.getWindowHandle();

  // Switch to new window opened
  for (String winHandle : driver.getWindowHandles()) {
   System.out.println("+++" + winHandle);
   driver.switchTo().window(winHandle);
  }
  // Close the original window
  driver.switchTo().window(winHandleBefore2);
  driver.close();

  // Switch to new window opened
  for (String winHandle : driver.getWindowHandles()) {
   System.out.println("+++" + winHandle);
   driver.switchTo().window(winHandle);
  }
  // 等待元素出现
  // driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
  // Thread.sleep(10);
  WebElement frame. = driver.findElement(By.id("jerichotabiframe_1"));
  driver.switchTo().frame(frame);

  WebElement newCustomer = driver.findElement(By.id("addCustomer"));
  newCustomer.click();
  //
  // WebElement frame2=driver.findElement(By.id("jerichotabiframe_1"));
  // driver.switchTo().frame(frame2);

  WebElement custName = driver.findElement(By.id("custName"));
  custName.sendKeys("客户一");

  WebElement sex = driver.findElement(By.id("dictCustSex"));
  sex.click();

  WebElement custMobile = driver.findElement(By.id("custMobilephone"));
  custMobile.sendKeys("13600000001");

  WebElement addr = driver.findElement(By.id("addr"));
  addr.sendKeys("五道口");

  WebElement teamManagerCode = driver.findElement(By
    .xpath(".//*[@data-id='teamManagerCode']"));
  teamManagerCode.click();
  ((HasInputDevices) driver).getKeyboard().sendKeys(Keys.ARROW_DOWN);
  // 注意这里不能用Keys.ENTER
  ((HasInputDevices) driver).getKeyboard().sendKeys(Keys.RETURN);

  // addrProvince
  WebElement addrProvince = driver.findElement(By
    .xpath(".//*[@data-id='addrProvince']"));
  addrProvince.click();
  ((HasInputDevices) driver).getKeyboard().sendKeys(Keys.ARROW_DOWN);
  // 注意这里不能用Keys.ENTER
  ((HasInputDevices) driver).getKeyboard().sendKeys(Keys.RETURN);

  // addrCity
  WebElement addrCity = driver.findElement(By
    .xpath(".//*[@data-id='addrCity']"));
  addrCity.click();
  ((HasInputDevices) driver).getKeyboard().sendKeys(Keys.ARROW_DOWN);
  // 注意这里不能用Keys.ENTER
  ((HasInputDevices) driver).getKeyboard().sendKeys(Keys.RETURN);

  // addrDistrict
  WebElement addrDistric = driver.findElement(By
    .xpath(".//*[@data-id='addrDistrict']"));
  addrDistric.click();
  ((HasInputDevices) driver).getKeyboard().sendKeys(Keys.ARROW_DOWN);
  // 注意这里不能用Keys.ENTER
  ((HasInputDevices) driver).getKeyboard().sendKeys(Keys.RETURN);

  // 沟通方式askType
  WebElement askType = driver.findElement(By
    .xpath(".//*[@data-id='askType']"));
  askType.click();
  ((HasInputDevices) driver).getKeyboard().sendKeys(Keys.ARROW_DOWN);
  // 注意这里不能用Keys.ENTER
  ((HasInputDevices) driver).getKeyboard().sendKeys(Keys.RETURN);
  
  // btnSave
  WebElement btnSave = driver.findElement(By
    .xpath("btnSave"));
  btnSave.click();

  
  // driver.close();

 }
}

TAG:

 

评分:0

我来说两句

Open Toolbar