java selenium3开发(九):By选择器使用

java selenium3开发(一):搭建开发环境

java selenium3开发(二):IE谷歌火狐打开

java selenium3开发(三):简单测试百度搜索

java selenium3开发(四):从打开到事件简单分析

java selenium3开发(五):Navigatio对象方法

java selenium3开发(六):cookies的获取

java selenium3开发(七):Window对象操作

java selenium3开发(八):获取element节点

这个选择器就相当于jquery的选择器,都是选择dom节点,这就就分享一些By选择器的使用

第一步:方法By.id();By.name();By.className();By.tagName();, 这几个就根据ID,name, className,tagName获取节点,在以前的分享已经用过,这里不再讲述

第二步:xpath()方法。XPath就是XML,它用XML来确定文档中某部分位置的语言,提供在数据结构树中找寻节点的能力,代码如下:

String xapth = "//*[@id=\"x11\"]";
By by = By.xpath(xapth);

第三步:火狐安装hmtl节点转xPath插件,火狐插件搜索xPath,找到xPath Finder,下载安装即可,如图:

第四步:cssSelector(),这个是根据css 标签 name id等进行匹配定位的方式,比如:#input 选择id为input的节点,div#radio>input:nth-of-type(4) 选择id为radio的div下的第4个input节点等等,具体可以参考w3c文档,这里不做详细描述

第五步:linkText(),就是根据text内容获取节点,比如:

<a href="http://www.baiud.com" >点我</a>
By oss = By.linkText("点我");
WebElement element = driver.findElement(oss);
System.out.println(element.toString());
element.click(); //会跳转到百度

第六步:partialLinkText(),看名字都知道,部分链接文字,也就是 点我,可以只写我,就行,

By oss = By.partialLinkText("我");
WebElement element = driver.findElement(oss);
System.out.println(element.toString());
element.click();

第七步:By.ByClassName byClassName = new By.ByClassName(SearchContext);

这个属于自定义搜索对象,可以自己实现SearchContext来达到自定义效果,2个方法:

By.ByClassName byClassName = new By.ByClassName("aaa");
SearchContext sc = new SearchContext() {
   @Override
   public List<WebElement> findElements(By by) {
       System.out.println("自定义");
       return null;
   }

   @Override
   public WebElement findElement(By by) {
       System.out.println("自定义");
       return null;
   }
};
byClassName.findElement(sc);

WebElement element = driver.findElement(byClassName);

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liming10101010

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值