1. 程式人生 > >【Selenium 3+Java自動化(4)】-八種元素定位

【Selenium 3+Java自動化(4)】-八種元素定位

pub nbsp 百度搜索 name tail webdriver nqa pan sss

 1 package com.mypro.jase;
 2 
 3 import org.openqa.selenium.By;
 4 import org.openqa.selenium.WebDriver;
 5 import org.openqa.selenium.WebElement;
 6 
 7 public class FindElement {
 8     WebDriver driver;
 9     String url = "http://www.baidu.com";
10     
11     /**
12      * 定位元素1:findElement(By.id())
13 */ 14 public void findById() { 15 driver.get(url); 16 //通過id定位百度搜索輸入框,並輸入“seleNium” 17 WebElement element = driver.findElement(By.id("kw")); 18 element.sendKeys("selenium"); 19 } 20 21 /** 22 * 元素定位2:findElement(By.name()) 23 */ 24 public
void findByName() { 25 driver.get(url); 26 //通過name定位百度搜索輸入框,並輸入“java” 27 WebElement element = driver.findElement(By.name("wd")); 28 element.sendKeys("java"); 29 } 30 31 /** 32 * 元素定位3:findElement(By.className()) 33 */ 34 public void findByClassName() {
35 driver.get(url); 36 //通過className定位百度搜索輸入框,並輸入java 37 WebElement element = driver.findElement(By.className("s_ipt")); 38 element.sendKeys("java"); 39 } 40 41 /** 42 * 元素定位4:findElement(By.tagName()) 43 */ 44 public void findByTagName() { 45 driver.get(url); 46 //通過tagName(標簽)定位百度搜索輸入框,並輸入“Java” 47 WebElement element = driver.findElement(By.tagName("input")); 48 element.sendKeys("Java"); 49 } 50 51 /** 52 * 元素定位5:findElement(By.linkText()) 53 */ 54 public void findByLinkText() { 55 driver.get(url); 56 //通過linkText(超鏈接)定位到hao123按鈕,並點擊;這個是精確查找 57 WebElement element = driver.findElement(By.linkText("http://www.hao123.com")); 58 element.click(); 59 } 60 61 /** 62 * 元素定位6:findElement(By.partialLinkText()) 63 */ 64 public void findPartailLinkText() { 65 driver.get(url); 66 //通過partailLinkText(超鏈接)定位到hao123按鈕,並點擊;這個是模糊查找 67 WebElement element = driver.findElement(By.partialLinkText("ao123")); 68 element.click(); 69 } 70 71 /** 72 * 元素定位7:findElement(By.xpath()) 73 */ 74 public void findByXpath() { 75 driver.get(url); 76 //通過XPath定位到百度輸入框,並輸入“XPath” 77 WebElement element = driver.findElement(By.xpath(".//*[@id=‘kw‘]")); 78 element.sendKeys("XPath"); 79 } 80 81 /** 82 * 元素定位8:findElement(By.cssSelector()) 83 */ 84 public void findByCssSelector() { 85 driver.get(url); 86 //通過CSS定位到百度輸入框,並輸入“Css_Selector” 87 WebElement element = driver.findElement(By.cssSelector("#kw")); 88 element.sendKeys("Css_Selector"); 89 } 90 }

總結:

selenium的webdriver提供了八種基本的元素定位方法。

1、通過id定位:findElement(By.id());
2、通過name定位:findElement(By.name());

3、通過class定位:findElement(By.className());
4、通過tag定位:findElement(By.tagName());
5、通過link定位:findElement(By.linkText());
6、通過partialLink定位:findElement(By.partialLinkText());
7、通過xpath定位:findElement(By.xpath());
8、通過css定位:findElement(By.cssSelector());

【Selenium 3+Java自動化(4)】-八種元素定位