我是靠谱客的博主 高贵老师,最近开发中收集的这篇文章主要介绍selenium+Java页面元素定位方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

页面元素定位方法总结

WebDriver对象的findElement函数可以用于定位一个页面的元素,findElement可以用于定位多个页面的元素,定位到页面元素需使用webElement对象进行存储,以便在测试的过程中继续使用。

定位方法java实例
使用id定位driver.findElement(By.id(“id值”))
使用name定位driver.findElement(By.name(“name值”))
使用链接的全部文字定位driver.findElement(By.linkText(“链接的全部文字”))
使用链接的部分文字定位driver.findElement(By.partialLinkText(“链接的部分文字”))
使用xpath定位driver.findElement(By.xpath(“xpath定位表达式”))
使用css定位driver.findElement(By.cssSelector(“css定位表达式”))
使用class名称定位driver.findElement(By.className(“class属性值”))
使用标签名称定位driver.findElement(By.tagName(“html标签名称”))
使用jqery定位js.executeScript(“return jQery.find(‘jQery定位表达式’)”)

使用id定位


> <html> <body>
<label>用户名</lable>
<input id="uname"></input>
> <label>密码</lable>
<input id="pwd"></input> <button
> id="submit">登录</button> </body> </html>
WebElement uname= driver.findElement(By.id("uname"));
WebElement pwd= driver.findElement(By.id("pwd"));

由于页面元素的id属性再当前网页中是唯一的。所以使用id属性可以保证页面元素的唯一性。如果页面没有id属性,无法使用此定位操作。

使用name定位

<html>
<body>
<label>用户名</lable>
<input name="uname"></input>
<label>密码</lable>
<input name="pwd"></input>
<button name="submit">登录</button>
</body>
</html>
WebElement uname= driver.findElement(By.name("uname"));
WebElement pwd= driver.findElement(By.name("pwd"));

name和id的区别,name属性在当前的网页中可以不是唯一的属性,而 id值必须是唯一的属性,因此使用name可以定位到等多个元素,还需要进一步才能获取实施测试操作的唯一页面元素。

使用链接的全部文字定位

<html>
<body>
<a href="http://www.baidu.com">软件测试搜索</a>
</body>
</html>
WebElement link= driver.findElement(By.linkText("软件测试搜索"));

使用此方式 定位链接需要完全匹配链接的显示文字。常用于页面中存在多个链接文字高度相似的情况,且无法使用部分链接文字进行定位。

使用链接的部分文字定位

<html>
<body>
<a href="http://www.baidu.com">搜索-百度</a>
<a href="http://www.sogou.com">搜索-搜狗</a>
</body>
</html>
WebElement link= driver.findElement(By.partialLinkText("百度"));
List<WebElement> links= driver.findElements(By.partialLinkText("搜索"));

使用此方式 定位链接需要完全匹配链接的显示文字。常用于页面中存在多个链接文字高度相似的情况,且无法使用部分链接文字进行定位。

使用标签名称定位

<html>
<body>
<a href="http://www.baidu.com">搜索-百度</a>
<a href="http://www.sogou.com">搜索-搜狗</a>
</body>
</html>
WebElement link= driver.findElement(By.tagName("a"));
List<WebElement> links= driver.findElements(By.tagName("a"));

标签名称定位方式主要用于匹配多个页面元素的情况,将查找的网页元素对象进行计数、遍历、修改属性等操作。

使用class名称定位

<html>
<body>
<input class="header" type=text></input>
</body>
</html>

WebElement input= driver.findElement(By.className(“header”));
“`

使用xpath定位

xpath定位方式是自动化测试定位技术中的必杀技,几乎可以解决所有的定位难题。

  1. 使用绝对路径来定位元素
  2. 使用相对路径来定位元素
  3. 使用索引号进行定位
  4. 使用页面元素的属性值定位元素
  5. 使用模糊的属性值定位元素
  6. 使用xpath的轴(axis)进行元素定位
  7. 使用页面元素的文本定位元素
    使用谷歌浏览器或者火狐浏览器可以定位页面的元素

最后

以上就是高贵老师为你收集整理的selenium+Java页面元素定位方法的全部内容,希望文章能够帮你解决selenium+Java页面元素定位方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(30)

评论列表共有 0 条评论

立即
投稿
返回
顶部