selenium Java基础一

selenium工作原理:

 

 

 

 

 

1、下载相应的浏览器驱动包

//设置环境变量

System setProperty("webdriver.firefox.marionete","D:\\geckodriver.exe");

//初始化driver

WebDriver  driver =new FirefoxDriver();

/请求地址

driver.get("http://www.baidu.com");

 

2、定位元素

By.tagName()     通过标签定位元素

driver.findElement(By.tagName("input")).sendKeys("user");

 

 By.name()    通过name属性来定位元素

driver.findElement(By.name("passwd")).sendKeys("123456");

 

By.id()   通过id来定位元素

driver.findElement(By.id("outo")).click();

 

By.linkText(“注册”)  通过链接信息定位元素

driver.findElement((By.linkText("注册")).click();

 

By.className()   通过类名定位元素

driver.findElement(By.className("btn")).click();

 

窗口最大化

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

 

//定位列表中多个元素

WebElement  element =driver.findElement(By.className("lnav-iteam"));

List<WebElement> elements = element .findElements((By.tagName"li"));

 elements.get(3).click();  获取第三个元素并点击

 

 

常见元素处理

 

driver.findElement(By.className("btn")).sendKeys(test");

driver.findElement(By.className("btn")).clear();

string  s = driver.findElement(By.className("btn")).getAttribute("placeholder");

 

 

 driver.findElement(By.className("btn")).click();

 driver.findElement(By.className("btn")).clear();

 boolean  aa = driver.findElement(By.className("btn")).isSelectted(); 判断元素是否选中状态

 

 

  boolean  aa = driver.findElement(By.id("btn1")).isSelected();    //判断元素是否选中

  boolean  aa = driver.findElement(By.id("btn1")).isEnabled() ;     //判断元素是否有效

 

 

driver.findElement(By.id("btn1")).click()  ;  //点击按钮

boolean  aa = driver.findElement(By.id("btn1")).isEnabled()    //判断按钮是否有效

 

表单  form 元素处理

 driver.findElement(By.id("form1")).submit()      //提交表单

 

上传文件

driver.findElement(By.id("photo")).click();  //定位到照片

driver.findElement(By.id("input")).sendKeys("D:\\aa.png");  将要上传的图片位置提交

 

下拉框处理

 

 

 

 

 

WebElement  job= driver.findElement(By.id("jobname")) .click();

Selcet downlist = new Sekect(job);

downlist.selectByIndex(2);        //选中下拉框中第三个元素(从0开始排序)

downlist.selectByValue("11")        //通过下拉框的 value属性值来选中 第三个元素

downlist.selectByVisibleTest(" python")      //通过下拉框展示的值来选中元素

downlist.isMultiple();      //判断列表是否为复选框列表

 

元素其他操作

 

 

 

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

Actions   action  = new Actions(driver);

action.click(btn).perform();                   //鼠标单击

元素提交可以通过元素点击提交,也可通过鼠标单击提交

 

WebElement  btn1= driver.findElement(By.id("btn1"));

Actions   action  = new Actions(driver);

action.doubleClick(btn1).perform();        //鼠标双击

 

WebElement  btn2= driver.findElement(By.id("btn2"));

Actions   action  = new Actions(driver);

action.moveToElement(btn2).perform();        //鼠标悬停

 

action.conTextClick(btn3).perform();    //鼠标右击

 

特殊窗体切换

 

 

 

 <iframe>   ----   </iframe>

WebElement  iframe1 = driver.findElement(By.id("iframe"));

driver.switchTo().frame(iframe1);   //切换到iframe中

 

Set< String> handles = driver.getWindowHandles();    //多个tab页 获取多个handle

s = driver.GetWindowHandle();     //获取当前handle

driver.switchTo().windows(s); 切换到某一个handle下

 

     等待函数

 

 

 

 

 

 规定时间找到特定元素,就会往下执行,超过指定时间,找不到元素就报错

WebDriverWai  wait  = WebDriverWait(driver,10);

wait.until(ExpectedConditions.presenceOfElementLocated(By.id("btn")));

 

 

 全局等待时间,每个页面都会按照这个时间查找元素。超过这个设置的时间就会报错

 

posted on 2023-04-04 11:52  yanmay  阅读(257)  评论(0编辑  收藏  举报

导航