※元素定位的重要性:在于查找元素 And 执行元素
定位元素的三种方法
- 1、定位单个元素:在定位单个元素时,selenium-webdriver 提示了如下一些方法对元素进行定位。在这些定位方式中,优先使用id、name、classname,对于网上的链接元素,推荐使用linkText定位方式,对于不好定位的元素,考虑使用火狐的插件去辅助定位(xpath)。
- 2、定位多个元素
- 3、层级定位:层级定位的思想是先定位父元素,然后再从父元素中精确定位出其我们需要选取的子元素。层级定位一般的应用场景是无法直接定位到需要选取的元素,但是其父元素比较容易定位,通过定位父元素再遍历其子元素选择需要的目标元素,或者需要定位某个元素下所有的子元素。比较典型的应用是表格的定位。
findElement和findElements方法
- findElement()返回一个WebElement元素
- findElements()返回一个List,多个WebElement元素
八种定位方式
•By.id(id):通过ID 属性查找
•By.name(name):通过name属性查找
•By.className(className) :通过classname属性查找
•By.linkText(链接文本):通过链接文本
•By.partialLinkText(部分链接文本):通过部分链接文本
•By.cssSelector(Css路径):通过CSS路径
•By.tagName(name):通过tagname查找
•By.xpath(XPath路径):通过XPath查找
例如:idnameclassname
import
例如:By.linkText(Link文本)
HTML
例如:By.partialLinkText(部分链接文本)
HTML
例如:By.cssSelector(Css路径)
HTML
例如:By.tagName(name)
HTML
例如:By.xpath(XPath路径)
HTML
注意:
1.使用findElement()方法查找元素,元素必须是唯一
2.findElements()同样支持这八种定位方式,只是获取的是多个元素,返回List
XPATH介绍:
XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。
在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或称为根节点)。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。
请看下面这个 XML 文档:
<?
上面的XML文档中的节点例子:<bookstore> (文档节点)<author>J K. Rowling</author> (元素节点)lang="en" (属性节点)
选取节点
XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。
下面列出了最有用的路径表达式:
实例,在下面的表格中,我们已列出了一些路径表达式以及表达式的结果:
XPath 轴
轴可定义相对于当前节点的节点集。