Selenium 3+Java自动化-八种元素定位
Posted 上海-玉面小飞龙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium 3+Java自动化-八种元素定位相关的知识,希望对你有一定的参考价值。
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自动化-八种元素定位的主要内容,如果未能解决你的问题,请参考以下文章
Selenium2+python自动化6-八种元素元素定位(Firebug和firepath)
Selenium2+python自动化6-八种元素元素定位(Firebug和firepath)
Selenium2+python自动化02-八种元素定位(Firebug和Firepath)