`

元素定位

 
阅读更多
Selenium WebDriver提供一个先进的技术来定位web页面元素。Selenium功能丰富的API提供了多个定位策略:ID、Name、Xpath、CSS选择器等等。我们也可以执行自定义的定位策略来定位元素。

善于使用浏览器工具来检查页面元素结构
无论你使用哪种浏览器测试,都有一款合适的工具辅助你分析页面
1、Firefox的Firebug插件
2、Chrome内置的开发者工具
3、Internet Explorer自带的开发者工具
1、使用findElement方法定位元素
Selenium Webdriver定位元素通过使用findElement()和findElements()方法。findElememt()方法返回一个基于指定查找条件的WebElement对象或是抛出一个没有找到符合条件元素的异常。
findElements()方法会返回匹配指定查询条件的WebElements的集合,如果没有找到则返回为空。
查询方法会将By实例作为参数传入。Selenium WebDriver提供了By类来支持各种查询策略。
我们先来看一个例子。
百度首页的搜索框,通过开发者工具我们可以看到搜索框具有的属性:
<input type="text" name="wd" id="kw" maxlength="100" style="width:474px;" autocomplete="off">

所以我们可以用id属性、name属性或则xpath来定位这个搜索框
//id
WebElement content_id = driver.findElement(By.id("kw"));
//name
WebElement content_name = driver.finElement(By.Name("wd"));
//xpath
WebElement content_xpath = driver.finElement(By.Xpath("//input[@id='kw'] "));
//or
//WebElement content_xpath = driver.finElement(By.Xpath("//input[@name='wd'] "));

2、使用findElements方法定位元素
测试需求以百度首页为例,我们要验证百度首页导航链接的数量,并打印出他们的超链接地址
baidu
程序清单如下:
package com.example.tests; 
import static org.junit.Assert.*; 
import java.util.*; 
import org.junit.*; 
import org.openqa.selenium.*; 
import org.openqa.selenium.ie.InternetExplorerDriver;
public class Test{ 
 @Test 
 public void test() {     
     WebDriver driver = new InternetExplorerDriver(); 
     driver.get("http://www.baidu.com"); 
     List<WebElement> links = driver.findElements(By.cssSelector("#nv a")); 
     //验证链接数量 
     assertEquals(10, links.size()); 
     //打印href属性 
     for (int i = 0; i < links.size(); i++) { 
    System.out.println(links.get(i).getAttribute("href")); 
  }     
  driver.close(); 
 } 
}

执行后打印结果如下:
http://news.baidu.com/ 
http://tieba.baidu.com/ 
http://zhidao.baidu.com/ 
http://music.baidu.com/ 
http://image.baidu.com/ 
http://video.baidu.com/ 
http://map.baidu.com/ 
http://baike.baidu.com/ 
http://wenku.baidu.com/ 
http://www.baidu.com/more/

findElements()方法返回所有匹配定位策略的WebElement的集合,我们可以使用java中List类来创建WebElements的实例 ,List类中的size()方法会告诉你这个集合中元素的总数量。 通过for循环将得到List中所有的元素,再调用getAttribute()方法得到元素的属性。
分享到:
评论

相关推荐

    元素定位神器chropath

    ChroPath是一款专为前端开发者设计的利器,尤其在进行网页元素定位时,它的强大功能无疑是一把神器。这款插件的核心是XPath和CSS查询,它们是Web开发中用于查找和操作HTML或XML文档结构的重要工具。XPath是一种在XML...

    基于Python的Canvas画布元素定位在HolliView项目自动化测试中的应用.rar

    在HolliView项目的自动化测试中,使用Python进行Canvas画布元素定位是一种高效且灵活的方法。Canvas是HTML5中用于在网页上绘制图形的元素,它提供了丰富的API来创建动态、交互式的图形。Python则以其强大的库支持和...

    Python+selenium环境搭建&元素定位总结

    **Python+Selenium 环境搭建** ...元素定位则可以通过 Firebug 和 Firepath 插件辅助完成,获取 XPath 或 CSS 选择器后在 Python 脚本中进行元素操作。这些基础步骤对于进行网页自动化测试至关重要。

    selenium之元素定位

    selenium之元素定位,共八种定位方法,以百度搜索框为例子进行讲解

    webdriver元素定位笔记

    webdriver 元素定位笔记 WebDriver 是一个自动化测试工具,它可以模拟用户的行为来与网页交互。要想使用 WebDriver 进行自动化测试,需要首先定位到网页上的元素,然后才能对其进行操作。元素定位是 WebDriver 中...

    元素定位工具

    【元素定位工具】是一种在自动化测试中非常关键的辅助软件,尤其当SDK自带的uiautomatorviewer.bat无法满足特定的元素定位需求时,它便显得尤为重要。在移动应用自动化测试领域,准确、高效地定位到UI元素是编写测试...

    UI自动化selenium封装常用工具类(元素定位方法,鼠标动作,浏览器操作等)

    本文将详细讲解如何利用Selenium进行元素定位、鼠标动作以及浏览器操作,并封装成常用的工具类,以提高自动化测试的效率和可维护性。 一、元素定位方法 1. `By.ID`:通过元素的ID来定位,ID是页面上每个元素的唯一...

    3.Appium元素定位1

    Appium 元素定位 Appium 元素定位是 App 自动化测试中的一个重要环节。在 App 自动化测试过程中,元素定位是最重要的一个步骤,只有准确定位到了元素才能进行相关元素的操作,如输入、点击、拖拽、滑动等。Appium ...

    CSS教程——元素定位

    CSS 元素定位教程 一、什么是 CSS 元素定位? CSS 元素定位是指在 HTML 文档中对元素的位置进行控制和设置的过程。通过使用 position 属性,可以将元素定位到特定的位置,以实现布局和设计的需求。 二、position ...

    WEB自动化测试基础01-元素定位

    【WEB自动化测试基础01-元素定位】是关于使用Selenium进行网页自动化测试的一个关键话题。Selenium 是一款强大的浏览器自动化工具,广泛用于网页应用的功能测试。以下将详细阐述各个定位方式及其应用场景。 1. ID...

    selenium+java元素定位与操作及实例

    selenium+java操作UI时,对界面元素进行定位与操作及实例

    python入门+python+unitest实现UI自动化测试+元素定位方法

    本课件旨在介绍Python语言的基础知识,并结合unittest框架详细介绍如何实现UI自动化测试以及常用元素定位方法。 首先,Python作为一门高级编程语言,以其简洁的语法、丰富的库和强大的社区支持著称。在自动化测试...

    13_元素定位-绝对定位的练习.html

    在学习前端开发的过程中,理解元素定位是非常关键的技能之一。元素定位涉及到如何在页面中定位一个元素的位置,这对于设计网页布局以及响应式设计尤为关键。在众多定位方式中,绝对定位是经常被提及和使用的一种技术...

    Selenium+Python(元素定位).pdf

    Selenium + Python(元素定位) Selenium 是一种自动化测试工具,主要用于 Web 应用程序的自动化测试,但它也支持所有基于 web 的管理任务自动化。Selenium 经历了两个版本,selenium1.0 和 selenium2.0,它不是一...

    10_元素定位-绝对定位元素的特点一.html

    在网页设计和开发过程中,元素定位是构建布局的基础。特别是绝对定位,它在页面布局中的应用十分广泛。绝对定位的元素有几个显著的特点,了解这些特点对于掌握CSS布局技术至关重要。 首先,绝对定位元素脱离了文档...

    Ranorex Selocity1.4.3(web元素定位插件)

    **Ranorex Selocity 1.4.3:Web元素定位神器** Ranorex Selocity是一款强大的Web元素定位插件,专为谷歌浏览器设计,旨在帮助开发者和测试工程师高效地查找、识别和操作网页上的元素。在这个数字化时代,前端开发和...

    09_元素定位-绝对定位-absolute练习.html

    1. 元素定位是CSS中的一个重要概念,它允许开发者通过特定的方式放置页面中的元素。定位可以用来创建复杂的页面布局,也是许多动态交互效果的基础。 2. 绝对定位(absolute positioning)是定位类型之一。它可以让...

    CSS 元素定位详解与实战应用

    本文详细讲解了 CSS 中多种元素定位的方法及其应用场景,具体涉及静态定位(static),相对定位(relative),绝对定位(absolute),固定定位(fixed)以及粘性定位(sticky),同时解释了每种定位方式的工作机制和相关属性...

    02_元素定位-相对定位-relative.html

    在网页设计与开发中,元素定位是布局页面的基石。CSS中的定位属性允许开发者决定元素在页面上出现的位置。通过本文件标题“02_元素定位-相对定位-relative.html”我们可以了解到,本部分将重点探讨相对定位的概念及...

    07_元素定位-固定定位的练习.html

    在网页设计和开发过程中,元素定位是构建布局的基础技术之一。元素定位指的是通过CSS对页面上的元素进行精确的位置安排。在众多定位方式中,固定定位是一种特殊的定位方法,它能够让元素相对于浏览器窗口进行定位,...

Global site tag (gtag.js) - Google Analytics