1.selenium positioning method
Selenium provides 8 kinds of targeting.
- id
- name
- class name
- tag name
- link text
- partial link text
- xpath
- css selector
The 8 targeting methods in the Java selenium corresponding to:
- findElement(By.id())
- findElement(By.name())
- findElement(By.className())
- findElement(By.tagName())
- findElement(By.linkText())
- findElement(By.partialLinkText())
- findElement(By.xpath())
- findElement(By.cssSelector())
2. The use of positioning methods
If we have a Web page, view the properties of an element is by front-end tools (eg, Firebug).
<html>
<head>
<body link="#0000cc">
<a id="result_logo" href="/" οnmοusedοwn="return c({'fm':'tab','tab':'logo'})">
<form id="form" class="fm" name="f" action="/s">
<span class="soutu-btn"></span>
<input id="kw" class="s_ipt" name="wd" value="" maxlength="255" autocomplete="off">
Our aim is to position the input box input the label.
//通过id定位:
driver.findElement(By.id("kw"))
//通过name定位:
driver.findElement(By.name("wd"))
//通过class name定位:
driver.findElement(By.className("s_ipt"))
//通过tag name定位:
driver.findElement(By.tagName("input"))
//通过xpath定位,xpath定位有N种写法,这里列几个常用写法:
driver.findElement(By.xpath("//*[@id='kw']"))
driver.findElement(By.xpath("//*[@name='wd']"))
driver.findElement(By.xpath("//input[@class='s_ipt']"))
driver.findElement(By.xpath("/html/body/form/span/input"))
driver.findElement(By.xpath("//span[@class='soutu-btn']/input"))
driver.findElement(By.xpath("//form[@id='form']/span/input"))
driver.findElement(By.xpath("//input[@id='kw' and @name='wd']"))
//通过css定位,css定位有N种写法,这里列几个常用写法:
driver.findElement(By.cssSelector("#kw")
driver.findElement(By.cssSelector("[name=wd]")
driver.findElement(By.cssSelector(".s_ipt")
driver.findElement(By.cssSelector("html > body > form > span > input")
driver.findElement(By.cssSelector("span.soutu-btn> input#kw")
driver.findElement(By.cssSelector("form#form > span > input")
Next, there is a set of text links on our pages.
<a class="mnav" href="http://news.baidu.com" name="tj_trnews">新闻</a>
<a class="mnav" href="http://www.hao123.com" name="tj_trhao123">hao123</a>
//通过link text定位:
driver.findElement(By.linkText("新闻")
driver.findElement(By.linkText("hao123")
//通过partialLink text定位:
driver.findElement(By.partialLinkText("新")
driver.findElement(By.partialLinkText("hao")
driver.findElement(By.partialLinkText("123")
Css positioning on xpaht and more complex, please refer to: xpath grammar , css selector