zoukankan      html  css  js  c++  java
  • selenium元素定位Xpath,Contains,CssSelector

    最近有人问到定位问题,基本上我用以下三个方法可解决,但不同的项目使用方法不一样。以下为自己所用的简单记录说明

    1、Xpath

    经常使用且最能解决问题的定位

    driver.findElement(By.xpath("//button[@seleniumpath='shareBtn']")).click();
    driver.findElement(By.xpath("//div[@seleniumpath='shareBtn']")).click();

    很多人喜欢用这样的定位方法,不推荐使用,如:
    driver.findElement(By.xpath("//div[@seleniumpath='shareBtn']/div/[3]div[2]/table/tr/td/div[3]/button[2]")).click();
    定位表达式越简单越好,太复杂一旦js改变或者html改变则整个项目基本就会重写。因此需要如下定位可辅助实现增加效率

    2、Contains
    中文和英文项目都使用的定位方法。--英文为例(如图)
    driver.findElement(By.xpath("//div[contains(text(),'modifyFilterTest002')]")).click();

    3、CssSlector

     使用框架:react

    在此框架上我们使用CssSlector来定位非常方便,但如果框架改变我们则需要根据框架来改变我们的定位方式

    driver.findElement(By.cssSelector("#loginForm > div.form-group.username.control-group > div > input")).sendKeys(user.getEmailAddress());
    #loginForm > div.form-group.username.control-group > div > input --使用操作方法获取
    user.getEmailAddress()--bean中初始化get方法,获取来源为test case的email地址

    操作方法:

     更多交流关注自动化分享群:537188253

     

    
    
  • 相关阅读:
    数据仓库_Linux(3)
    2.1(构造序对)
    要修改一万个位置的jdk版本
    8个球7个一样重的,有一个偏重,一个天平,如何两次找出偏重的小球
    玄学
    异常:java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag
    提高输入效率
    fan
    idea
    打印整数的补码
  • 原文地址:https://www.cnblogs.com/yoyoblogs/p/6548602.html
Copyright © 2011-2022 走看看