selenium3开发(九):By选择器怎么用?

2025-10-26 03:16:34

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

selenium3开发(九):By选择器怎么用?

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

String xapth = "//*[@id=\"x11\"]";

 

By by = By.xpath(xapth);

selenium3开发(九):By选择器怎么用?

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

selenium3开发(九):By选择器怎么用?

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

selenium3开发(九):By选择器怎么用?

5、第五步: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(); //会跳转到百度

selenium3开发(九):By选择器怎么用?

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

By oss = By.partialLinkText("我");

 

WebElement element = driver.findElement(oss);

 

System.out.println(element.toString());

 

element.click();

selenium3开发(九):By选择器怎么用?

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

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

@Override

 

public List<WebElement> findElements(By by) {

 

   return null;

 

}

 

@Override

 

public WebElement findElement(By by) {

 

   return null;

 

}

代码如下:

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);

selenium3开发(九):By选择器怎么用?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢