selenuim-webdriver注解之@FindBy、@FindBys、@FindAll的区别

selenium-webdriver中获取页面元素的方式有很多,使用注解获取页面元素是其中一种途径,

方式有3种:@FindBy、@FindBys、@FindAll。下文对3中类型的区别和使用场景进行介绍

1)@FindBy

@FindBy(id= "A")
private WebElement A;

2)@FindBys

@Findbys({
    @FindBy(className = "A"),
    @FindBy(className = "B")
})
public WebElement AB;

@FindBys 相当于是取交集,是先根据第一个注解获取到对应元素,然后根据第二个注解再帅选出对应的页面元素,。如先找到符合classname=A的元素,再在这些元素集中找到classname=B的所有元素

就像如下操作:

driver.findElement(<By_FindByA>).findElement(<By_FindByB>).

3)@FindAll

@FindAll({
    @FindBy(id = "A"),
    @FindBy(id = "B")
})
public List<WebElement> aAndB;

@FindAll相当于是取并集,如找到id=A和id=B的所有元素

转自http://blog.csdn.net/tea_wu/article/details/21080789

时间: 2024-10-11 07:50:11

selenuim-webdriver注解之@FindBy、@FindBys、@FindAll的区别的相关文章

selenuim webDriver API 16种定位方式

错误截图: 这是由于html页面嵌套多个iframe导致的 解决办法:操作右侧的鼠标滚轮   滚动到上面就可以了 #操作鼠标滚轮 0,0表示最上面 js = 'window.scrollTo(0,0)' driver.execute_script(js) import time time.sleep(2) 原文地址:https://www.cnblogs.com/wyhv5/p/9723061.html

Spring 注解中@Resource 和 @Authwired 的区别

@Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了.@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型.所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略.如果既不指定name也不指定type属性,这时将通过反射

Spring注解中@Configuration和@Configurable的区别

@Configuration该注解是可以用来替代XML文件.以前我们配置bean时,都是写在applicationContext.xml文件中的.有了这个注解后,我们就可以编写一个类在其上面加上该注解.即配置类.在配置类中可以在方法上加@Bean注解定义其中的Bean @Configurable现在假设,我们想在非Spring管理的类中使用依赖注入:比如:手动new出来的对象,正常情况下,Spring是无法依赖注入的,这个时候可以使用@Configurable注解: 原文地址:https://w

Spring MVC注解中@PathVariable和@RequestParam的区别

@PathVariable注解的用法和作用 映射 URL 绑定的占位符 spring3.0的一个新功能:接收请求路径中占位符的值 通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过注解@PathVariable(“xxx“) 绑定到操作方法的入参中. @RequestMapping(value = "/index/{id}" 请求路径:http://localhost:8080/hello/user/in

Java框架:spring框架整合hibernate框架的xml配置(使用注解的方式)

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/sch

Java中的元注解

注解为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便地使用这些数据. 通过使用注解,我们可以将这些元数据保存在Java源代码中,并利用annotation API为自己的注解构造处理工具.注解必须佩戴自己相应的处理器,不然注解没有任何意思! 基本形式 在Java中定义一个注解的基本方式为: 1 import java.lang.annotation.RetentionPolicy; 2 import java.lang.annotation.Target; 3 4

Java 8 角度看注解类型

1.除了在继承关系上的限制(不能添加泛型声明也不能添加extends继承另外的接口),声明时用@interface而不是interface以外,注解类型和普通接口没有区别 2.注解类型中可以包含多个元素,通过方法声明形式来定义,这些方法的声明不能有任何参数或类型参数,也没有方法体:方法返回值类型只能是基本类型.String.Class.Enum.注解类型和数组类型,数组不支持多维数组.注解类型也可以没有任何元素.若注解类型只有一个元素,一般命名为value(作为使用时候的默认传值对象),通过方法

spring-bean(注解方式-管理及依赖注入)

Bean管理(注解方式) 1.添加注解的依赖包:Spring-aop.jar 2.配置spring的XML文件的引入(查官方源码) 3.开启注解的扫描 <context:component-scan base-pachage="需要注解扫描的文件目录路径"/> 4.  在注入的类使用注解注入:@Component("id") 为了区别在三层架构使用不同的注解(效果一致,只是为了区分) @Repository:dao层 @Service:service层

Java基础之反射、注解、代理

反射 笔者对反射的理解就是解剖class文件,来进行一系列操作. Class类 获取Class类实例的三种方式: 类名.class 对象.getClass() static Class forName(String className)根据类的名称获取类的Class对象(这里的className必须是类的全名) 一般使用第三种方式获取Class对象. 常用成员方法: Field getField(String name)获取类中的成员变量的对象 String getName() 获取类的全名:包