selenium的7种元素定位方式以及使用

1、第一种,元素ID定位

代码显示:

元素定位法:driver.findElement(By.id("indexPageId")).click();

2、第二种,元素name定位

代码显示:

元素定位法:driver.findElement(By.name("username")).sendKeys("123456");

3、第三种,文字定位(部分文字定位与全部文字定位)

全部文字定位(这种方法的好处是,可以避免同一个页面上,有相同文字引起的元素定位不到问题)

代码显示:

元素定位法:driver.findElement(By.linkText("登录")).click();

部分文字定位(这种适用于在一个页面上,只有这一个关键词的)

代码显示:

元素定位法:driver.findElement(By.partialLinkText("忘记")).click();

4、第四种  使用元素标签定位

因为同一个页面上可能存在多个相同的标签名称,所有只有第一个匹配的元素标签会被定位到(该方法主要用于匹配多个页面元素)

代码显示:

 元素定位法:driver.findElement(By.tagName("a")).click();

5、第五种,使用class名称定位

代码显示:

元素定位法:driver.findElement(By.className("navbar-brand")).click();

6、第六种 使用XPath元素定位法

使用XPath的绝对路径来定位元素,绝对定位是从整个页面的顶层开始查找(缺点:只要页面有一个节点发生变化,那么就会定位失败,不建议使用)

代码显示:

 元素定位法:driver.findElement(By.xpath("/html/body/nav/div/div/span")).click();

使用xpath的相对路径来定位元素,相对路径只要本身的标签性质没有改变,就不会因为页面变化而改变

一个定位相对路径的小技巧(打开谷歌浏览器,F12,选定要定位的元素,鼠标右键-copy--copy XPath)

代码显示:

元素定位:driver.findElement(By.xpath("//*[@id='pwd']")).sendKeys("654321");

使用xpath的索引号进行元素定位(索引号针对的索引是同一个div下的,下图的input是在两个div中的,所以没有input[2];索引号排序从1开始)

代码显示:

元素定位:driver.findElement(By.xpath("//input[1]")).sendKeys("123456");

使用页面元素属性的属性值定位元素实例(通俗点说就是当同一个页面有元素很多属性相同时,可以使用这种方法)

代码显示:

元素定位:driver.findElement(By.xpath("//input[@type='password' and @name='passwd']")).sendKeys("123456");

7、第七种  使用CSS元素定位法(css定位相比于xpath,定位速度更快,方式更稳定,但是Xpath的定位功能相对来说更强大一些)

代码显示:

使用绝对定位方式CSS:

元素定位:driver.findElement(By.cssSelector("html>body>nav>div>div>div>a")).click();

使用相对路径定位CSS

元素定位:driver.findElement(By.cssSelector("a[id='index-html-logo-a']")).click();

使用class名称定位

元素定位: driver.findElement(By.cssSelector("a.navbar-brand")).click();

使用ID属性值定位

元素定位:driver.findElement(By.cssSelector("a#index-html-logo-a")).click();

猜你喜欢

转载自www.cnblogs.com/zq998/p/8981663.html