1、使用id进行定位
WebDriver driver ;
WebElement username = driver.findElement(By.id(“username”));
2、使用name进行定位
WebDriver driver;
WebElement username = driver.findElement(By.name(“username”));
3、使用链接的全部文字定位(linkText)
WebDriver driver;
WebElement link = driver.findElement(By.LinkText(“sogou搜索”));
4、使用部分链接文字定位
WebDriver driver;
//表示查找包含“sog”的链接,如果找到了多个,会将第一个拿到
WebElement link = driver.findElement(By.partialLinkText(“sog”));
//查找到含有sog的所有链接,并存储到List中
List
5、使用标签名称进行定位(和4类似)
WebDriver driver;
WebElement tag = driver.findElement(By.tagName(“input”));
List
Xpath定位
html代码:
function link(){
alert("你真美");
}
function alert1(){
alert("吃火锅");
}
6、绝对路径定位:绝对路径 以 "/" 开头, 让xpath 从文档的根节点开始解析
WebDriver driver;
WebElement button = driver.findElement(By.Xpath(“/html/body/div/input[@value=’查询’]”));
相对路径定位:以"//" 开头, 让xpath 从文档的任何元素节点开始解析
WebDriver driver;
WebElement button = driver.findElement(By.Xpath(“//input[@value=’查询’]”));
7、使用索引号定位:
WebElement button = driver.findElement(By.xpath("//input[2]"));
8、使用页面属性定位:
WebElement img = driver.findElement(By.xpath(“//img[@div1-img1]”));(定位某个图片)
driver.findElement(By.xpath("//a[@href='http://www.sogou.com']")).click(); //定位链接
9、使用模糊的属性值定位元素
Start-with()
表达式://img[starts-with(@alt,’div1’)]
表示查找图片alt属性开始位置包含“div1”关键字的页面元素
Contains()
表达式://img[contains(@alt,’g1’)]
表示查找图片alt属性包含“g1”关键字的页面元素
driver.findElement(By.xpath("//img[contains(@alt,'img2')]")).click();
10、使用页面元素的文本来定位元素
driver.findElement(By.xpath("//a[text()='百度搜索']")).click();
表示要查找包含页面上的文本“百度搜索”的链接页面元素,是精确匹配
driver.findElement(By.xpath("//a[contains(text(),'搜索')]")).click();
表示要查找包含“搜索”两个字的链接页面元素,实现了根据部分文本进行匹配