1、 Selenium by查找元素
特别强调一下:Byxpath()
绝对路径以单/号表示,而下面要讲的相对路径则以//表示,这个区别非常重要。另外需要多说一句的是,当xpath的路径以/开头时,表示让Xpath解析引擎从文档的根节点开始解析。当xpath路径以//开头时,则表示让xpath引擎从文档的任意符合的元素节点开始进行解析。
查找页面上id为loginForm的form元素:
查找页面上具有name属性为username的input元素:
2、 注解获取页面元素
方式有3种:@FindBy、@FindBys、@FindAll。
下文对3中类型的区别和使用场景进行介绍
1)@FindBy
2)@FindBys
@FindBys 相当于是取交集,是先根据第一个注解获取到对应元素,然后根据第二个注解再帅选出对应的页面元素,。如先找到符合classname=A的元素,再在这些元素集中找到id=B的所有元素
就像如下 *** 作:
3)@FindAll
@FindAll相当于是取并集,如找到id=A和id=B的所有元素
把打包后的jar文件与spring注解依赖jar包放在同一个JVM下运行(就是运行时能在classpath找到那些注解的相关类)应该没有问题的!还有就是要保证编译和运行的jdk版本相同
// 定义注解并指定java注解保留策略为运行时RUNTIME,运行时注入到JAVA字节码文件里
// 这样才可以在运行时反射并获取它。
@javalangannotationRetention(javalangannotationRetentionPolicyRUNTIME)
@interface MyAnnotation{
String key() default "";
int value() default 0;
}
// 使用注解
@MyAnnotation(key="key1",value=200)
class MyClass{}
// 反射注解
public static void main(String[] args){
MyClass myClass=new MyClass();
MyAnnotation annotation=myClassgetClass()getAnnotation(MyAnnotationclass);
Systemoutprintln("key="+annotationkey()+"\tvalue="+annotationvalue());
}
以上就是关于selenium 获取元素方法-注解全部的内容,包括:selenium 获取元素方法-注解、spring怎么获取在jar包中自定义注解的实体类上的注解、java反射机制 怎样获取到类上面的注解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)