自动化测试(IDEA+Java+Selenium+testng)(元素定位1)

元素定位的重要性

自动化测试的根本:
准确的操作测试对象(元素)
在这里插入图片描述

findElement 和 findElements 方法

1.findElement()

返回一个WebElement元素

2.findElements()

返回一个List,多个WebElement元素

八种定位方式

By.id(id):通过ID 属性查找
By.name(name):通过name属性查找
By.className(className) :通过classname属性查找
By.linkText(链接文本):通过链接文本
By.partialLinkText(部分链接文本):通过部分链接文本
By.cssSelector(Css路径):通过CSS路径
By.tagName(name):通过tagname查找
By.xpath(XPath路径):通过XPath查找

By.id(属性id值):

HTML 源码示例:
在这里插入图片描述代码例子:

    //通过id定位单个元素
    public void findElement01(){
    
    
       WebElement wbe = driver.findElement(By.id("su"));
        System.out.println(wbe);
    }

By.name(属性name值):

HTML 源码示例:
在这里插入图片描述
代码例子:

WebElement  element = driver.findElement(By. name("tj_reg"));  

By.className(属性class值):

HTML 源码示例:
在这里插入图片描述
代码例子:

WebElement  element = driver.findElement(By.className( "reg"));   

By. linkText (Link文本):

HTML 源码示例:
在这里插入图片描述
代码例子:

WebElement  element =  driver.findElement(By.linkText( "搜索设置" ));

By. partialLinkText(Link文本):

HTML 源码示例:
在这里插入图片描述
代码例子:

WebElement  element =  driver.findElement(By. partialLinkText( "搜索" ));

By. tagName(dom节点名):

HTML 源码示例:
在这里插入图片描述
代码例子:

WebElement element=  driver.findElement(By. tagName( “a" ));

By. xpath(xpath路径):

代码例子:

WebElement element=  driver.findElement(By. xpath(.//*[@id='kw']" ));

By. cssSelector(Css路径):

代码例子:

WebElement element=  driver.findElement(By. cssSelector(“#kw”));

补充:

findElements()同样支持这八种定位方式,只是获取的是多个元素,返回List
List elements = driver.findElements(By.id(“test”));

    //通过tagName定位多个元素
    public void findElements(){
    
    
        List<WebElement> list = driver.findElements(By.tagName("a"));
        //遍历定位的元素
        for(int i=0;i<list.size();i++){
    
    
            System.out.println(list.get(i).getText());
        }
    }

猜你喜欢

转载自blog.csdn.net/fanfjaiyun/article/details/102555433
今日推荐