【Selenium 3+Java自動化(4)】-八種元素定位
阿新 • • 發佈:2017-08-16
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)】-八種元素定位