selenium元素定位

Posted 夏之末

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium元素定位相关的知识,希望对你有一定的参考价值。

自动化中,最重要的事情就是元素定位,selenium webdriver提供几种元素定位,

如何定位

在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回元素句柄来定位元素

findElement() 方法返回一个元素, 如果没有找到,会抛出一个异常 NoElementFindException()

findElements()方法返回多个元素, 如果没有找到,会返回空数组, 不会抛出异常

 

如何选择 定位方法

策略是, 选择简单,稳定的定位方法。

1. 当页面元素有id属性的时候, 尽量使用id来定位。  没有的话,再选择其他定位方法

2. cssSelector  执行速度快, 推荐使用

3. 定位超链接的时候,可以考虑linkText或partialLinkText: 但是要注意的是 ,  文本经常发生改变, 所以不推荐用

3. xpath 功能最强悍。 当时执行速度慢,因为需要查找整个DOM,  所以尽量少用。  实在没有办法的时候,才使用xpath 

 

常用的定位页面元素方法如下,   按推荐排序

 

定位方法

Java语言实现实例

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元素定位的主要内容,如果未能解决你的问题,请参考以下文章

selenium IDE 如何定位页面变动元素

selenium+Python页面元素定位问题

selenium webdriver怎么定位td里面的元素

selenium元素定位

selenium 如何缩小范围后在定位元素比如缩小到某一个div,在定位

Selenium中怎么实现元素定位?