selenium元素定位方式(8种定位方式)
1.id
driver.findElement(By.id("kw"))
2.name
driver.findElement(By.name("wd"))
3.class
driver.findElement(By.className("s_ipt")
4.tag name
基本上在日常用不到这种定位方式,因为大部分情况下标签名都是相同的,只有很少数才会不同
driver.findElement(By.tagName("input"))
5.link text
driver.findElement(By.linkText("设置"))
6.partial link
partial link是对link text的一种补充
driver.findElement(By.partialLinkText(""))
7.path
//表示某一标签
*表示所有标签
(1)格式://*[@id='kw']---->查找所有id=kw的标签,但是一般不建议用*,应该具体到某一个标签,如//input[@id='kw'],此处的id可以换成name,class或其他属性;
(2)如果属性没有值,则可以通过定位父级属性定位,如://span[@id='kw']/input[1],或者说可以通过父级和父级的父级同时去定位://dev[id='kw']/span[id='pt']/input[1]
(3)如果存在input,input[1]的id与input[3]相同,input[2]的name与input[3]相同,三个的class都相同,所以想要定位input[3]就可以通过组来定位,如:
//*[@id='kw' and @name='pf']
driver.findElement(By.xpath(""))
8.css
#表示id
.表示class
父级用>表示,也就是将xpath中的/换成>呈现
driver.findElement(By.cssSelector(""))