selenium中的层级定位和操作测试对象

2025-10-09 08:06:21

1、 层级定位:自己找一个简单的层级定位html页,该页面中可以包括层级元素<ul><li>

selenium中的层级定位和操作测试对象

2、  link1就是一个<a>标签   下面的元素就是<li>展示的内容,实现从父级元素到子级元素的代码如下:

dr.findElement(By.linkText("link1")).click();//此处实现的是触发link1

      

       (new WebDriverWait(dr, 10)).until(new ExpectedCondition<Boolean>() {

           public Boolean apply(WebDriver d){

              return d.findElement(By.id("dropdown1")).isDisplayed();//此处是判断是否存在id为dropdown1的元素,存在返回true

           }

       });

selenium中的层级定位和操作测试对象

3、//满足上面的条件之后继续往下运行,通过多次利用findElement查找子元素

       WebElement menu=dr.findElement(By.id("dropdown1")).findElement(By.linkText("Geneva"));

              (new Actions(dr)).moveToElement(menu).perform();   //是模拟把鼠标移动到某个具体的测试对象上。

selenium中的层级定位和操作测试对象

1、操作测试对象一般有下面几种:

   .click 点击对象   .sendKeys在对象上模拟按键输入    .clear 清除对象的内容

   // click

       dr.findElement(By.linkText("link")).click();

       Thread.sleep(1000);

通过linkText查找到该元素,由于该元素是一个a标签,所以它可以被触发。

Thread是设置线程等待时间,这样可以实现等待页面的加载,保证在接下来查找的过程中元素没有被加载进来。   

selenium中的层级定位和操作测试对象

2、// sendKeys

       WebElement element = dr.findElement(By.name("q"));

       element.sendKeys("hello");

       Thread.sleep(1000);

    根据元素name找到该元素,向该元素发送内容,其实也就是向文本框中输入信息,之后就可以像页面发送自己输入的内容信息

       // clear

       element.clear();

    将元素值进行清除操作。

selenium中的层级定位和操作测试对象

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