Se(5)---定位元素

package testWd;


import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.testng.annotations.Test;


public class findEle {

@Test

public void findElement() throws InterruptedException {

System.setProperty("webdriver.firefox.bin", "D:/Firefox/firefox.exe");

WebDriver dr = new FirefoxDriver();

dr.manage().window().maximize();

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

//1.id

  /*WebElement el1 = dr.findElement(By.id("kw"));

el1.sendKeys("English");*/

//2.name

/*WebElement el1 = dr.findElement(By.name("wd"));

el1.sendKeys("Chinese");*/

//3.className

/*WebElement el1 = dr.findElement(By.className("s_ipt"));

el1.sendKeys("Spain");*/

//4.cssSelector

/*WebElement el1 = dr.findElement(By.cssSelector("#kw"));

el1.sendKeys("*");*/

   /*WebElement el1 = dr.findElement(By.cssSelector(".s_ipt"));

el1.sendKeys("shanghai");*/

/*WebElement el1 = dr.findElement(By.cssSelector(".quickdelete-wrap input"));

el1.sendKeys("beijing");*/

//5.linktext

/*WebElement el1 = dr.findElement(By.linkText("hao123"));

el1.click();*/

//6.partial linktext

/*WebElement el1 = dr.findElement(By.partialLinkText("hao1"));

el1.click();*/

//7.tagname,不推荐使用,因为页面上如果有多个,只会选择第一个标签

/*dr.get("https://passport.cnblogs.com/user/signin");

WebElement el1 = dr.findElement(By.tagName("a"));

el1.click();*/

//使用xpath,有三个选择:

//第一选择,优先查找id,name

//第二选择,使用层级定位,先定位父节点,再通过父节点定位子节点

//第三选择,使用文档定位,因为只要某个元素变了或者层级变了,就不好使了

//8.xpath,格式://标签[@属性='']

/*WebElement el1 = dr.findElement(By.xpath("//input[@id='kw']"));

el1.sendKeys("qinhuangdao");*/

//xpath,id,标签可以省略,写起来简单,但效率可能会降低

/*WebElement el1 = dr.findElement(By.xpath("//*[@id='kw']"));

el1.sendKeys("jinan");*/

//xpath,name

/*WebElement el1 = dr.findElement(By.xpath("//*[@name='wd']"));

el1.sendKeys("tianjin");*/

//层级定位,非xpath,先定位父节点,再通过父节点定位子节点

/*WebElement el1 = dr.findElement(By.id("form")).findElement(By.id("kw"));

el1.sendKeys("gansu");*/

/*WebElement el1 = dr.findElement(By.id("form")).findElement(By.xpath("span/input"));

el1.sendKeys("*");*/

//层级定位,xpath,先定位父节点,再通过父节点定位子节点---------伪文档化的层级定位

/*WebElement el1 = dr.findElement(By.xpath("//*[@id='form']/span/input"));

el1.sendKeys("heilongjiang");*/

//xpath,文档定位

WebElement el1 = dr.findElement(By.xpath("/html/body/div[2]/div/div/div/div/form/span/input"));

el1.sendKeys("laiwu");

//Thread.sleep(3000);

//dr.quit();

}


}