在自动化测试过程中, 测试程序通常的操作页面元素步骤
找到Web的页面元素,并赋予到一个存储对象中 (WebElement)
对存储页面元素的对象进行操作, 例如:点击链接,在输入框中输入字符等
验证页面上的元素是否符合预期
通过这三个步骤, 我们可以完成一个页面元素的操作, 找到页面元素是很重要的一个步骤。 找不到页面元素,后面就没法做了
Web页面技术的现实复杂性, 造成大量的页面元素很难定位。 经常有人不知道怎么定位。
定位方法大全
使用WebDriver对象的findElement函数定义一个Web页面元素
使用findElements函数可以定位页面的多个元素
定位的页面元素需要使用WebElement对象来存储,以便后续使用
常用的定位页面元素方法如下, 按推荐排序
id 定位
driver.findElement(By.id(“id的值”));
name定位
driver.findElement(By.name(“name的值”));
链接的全部文字定位
driver.findElement(By.linkText(“链接的全部文字”));
链接的部分文字定位
driver.findElement(By.partialLinkText(“链接的部分文字”));
css 方式定位
driver.findElement(By.cssSelector(“css表达式”));
xpath 方式定位
driver.findElement(By.xpath(“xpath表达式”));
Class 名称定位
driver.findElement(By.className(“class属性”));
TagName 标签名称定位
driver.findElement(By.tagName(“标签名称”));
Jquery方式
Js.executeScript(“return jQuery.find(“jquery表达式”)”
)
如何定位
在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回元素句柄来定位元素
findElement() 方法返回一个元素, 如果没有找到,会抛出一个异常 NoElementFindException()
findElements()方法返回多个元素, 如果没有找到,会返回空数组, 不会抛出异常
如何选择 定位方法
**策略是, 选择简单,稳定的定位方法。**
**
- 当