概述
页面元素定位方法总结
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定位方式是自动化测试定位技术中的必杀技,几乎可以解决所有的定位难题。
- 使用绝对路径来定位元素
- 使用相对路径来定位元素
- 使用索引号进行定位
- 使用页面元素的属性值定位元素
- 使用模糊的属性值定位元素
- 使用xpath的轴(axis)进行元素定位
- 使用页面元素的文本定位元素
使用谷歌浏览器或者火狐浏览器可以定位页面的元素
最后
以上就是高贵老师为你收集整理的selenium+Java页面元素定位方法的全部内容,希望文章能够帮你解决selenium+Java页面元素定位方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复