zoukankan      html  css  js  c++  java
  • webdriver定位元素

    在UI层面的自动化测试开发中,元素的定位与操作是基础。webdriver提供了很多种定位方法,以下总结了6种:

    1、万能法:find_element_by_xpath("")

    driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div[1]/ul/li[1]/ul/li[4]").click() #点击右侧菜单栏

    2、id定位:find_element_by_id("id"),id属性是唯一的

    driver.find_element_by_id("loginName").clear()#用户名输入框的id属性
    driver.find_element_by_id("loginName").send_keys("admin")
    driver.find_element_by_id("pwdTip")..clear()#密码输入框的id属性
    driver.find_element_by_id("pwdTip").send_keys("111111")

    3、class定位,可使用类名,也可使用css选择器,类名不唯一

    #唯一的类
    driver.find_element_by_class_name("ivu-btn")#登录按钮,使用类名
    driver.find_element_by_css_selector(".ivu-btn")#登录按钮使用CSS选择器
    
    #不是唯一的类
    driver.find_elements_by_class_name("ivu-input-default")[0].clear()
    driver.find_elements_by_class_name("ivu-input-default")[0].send_keys("wzj")#用户名,使用类名(注意类名不能追加,只能有一个)
    driver.find_elements_by_css_selector(".ivu-input.ivu-input-default")[1].clear()
    driver.find_elements_by_css_selector(".ivu-input.ivu-input-default")[1].send_keys("pubmi111")#密码框,使用CSS选择器(注意追加类时不能有空格,用.追加)

    4、tag_name定位,使用元素的名称,find_element_by_tag_name("标签");tag_name可以不唯一,识别性比较低,一个页面会员大量的重复元素

    #唯一
    driver.find_element_by_tag_name("input").click()
    
    #不唯一
    driver.find_elements_by_tag_name("input")[0].click()#选择学段:初中
    driver.find_elements_by_tag_name("input")[1].click()#选择学科:语文

    5、标签属性name定位,find_element_by_name("标签");name为自定义标签属性值,识别性较高

    driver.find_elements_by_name("PeriodName")[1].click()#选择学段:初中
    driver.find_elements_by_name("SubjectName")[0].click()#选择学科:语文

    6、link定位:专门用来定位文本链接,find_element_by_link_name("text");

    driver.find_element_by_link_text(u"退出").click()#页面右上方的一些个人操作,比如退出、个人中心、消息通知等

     partial link定位:是对link定位的一种补充,当链接上的文本内容比较长的时候,可以取文本的一部分进行定位,当然这部分可以唯一地标识这个链接

  • 相关阅读:
    大话设计模式(二)代理模式 工厂方法模式 原型模式 模板方法模式 迪米特法模式 外观模式
    大话设计模式(一)简单工厂模式 策略模式 单一职责原则 开放-封闭原则 依赖倒置原则 装饰模式
    eclipse为hibernate.cfg.xml添加自动提示【转】
    Caused by: java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getValidationMode
    Chrome 浏览器提示adobe flash player不是最新版本
    spring mvc <mvc:default-servlet-handler /> 。
    S2SH CRUD 整合
    Ms sql行转列。汇总
    Hibernate中的数据库方言(Dialect)
    SSH整合(1)异常
  • 原文地址:https://www.cnblogs.com/hpzyang/p/10249127.html
Copyright © 2011-2022 走看看