zoukankan      html  css  js  c++  java
  • UI自动化之8种基础定位

    UI自动化的核心在于定位

    目录

    1、8种基础定位方法

    2、xpath定位

    3、css定位

    4、多组元素

    1、8种基础定位方法

        driver.find_element_by_id()   #id定位
        driver.find_element_by_name()  #name定位
        driver.find_element_by_class_name()   #class定位
        driver.find_element_by_tag_name()    #标签名定位,一般用于iframe;标签较少的也可以使用,用取下标的方式
        driver.find_element_by_xpath()           #xpath定位,可以用firepath来获得这个定位
        driver.find_element_by_css_selector()  #css定位
        driver.find_element_by_link_text()       #a标签的文本定位
        driver.find_element_by_partial_link_text()   #a标签的局部文本定位
    

      

    2、xpath定位

    //:相对定位

    *匹配任意标签

    第一种:idclass ame其他属性

    driver.find_element_by_xpath("//*[@id='']")          #id和值
    driver.find_element_by_xpath("//*[@class='']")   #class和值
    driver.find_element_by_xpath("//*[@name='']") #name和值,如:find_element_by_xpath("//*[name='']")
    driver.find_element_by_xpath("//*[@shuxingming='']") #属性名和值,如:find_element_by_xpath("//*[align='left']")
    

      

    第二种:模糊匹配层级索引逻辑运算

    模糊匹配:
    driver.find_element_by_xpath("//*[contains(text(),'测试')]") #包含某些字符 driver.find_element_by_xpath("//*[starts-with(text(),'测试')]") #以某些字符开头 driver.find_element_by_xpath("//*[ends-with(text(),'测试')]") #以某些字符结尾 driver.find_element_by_xpath("//*[matchs(text(),'测试')]") #正则匹配
    层级:
    driver.find_element_by_xpath("//*[@id='']/p")

    索引:
    driver.find_element_by_xpath("//*[@id='']/option[0]")


    逻辑运算:
    driver.find_element_by_xpath("//*[@class=''and @name='']")

    第三种:

    绝对定位,使用firepath:

    html/body/heard/div/div/div/div/ul/li[2]/a

    3、css定位

    第一种:idclass标签名

    driver.find_element_by_css_selector("#username") #id为username
    driver.find_element_by_css_selector(".username") #class为username
    driver.find_element_by_css_selector("iframe") #标签名为iframe

    第二种:

    索引:
    driver.find_element_by_css_selector("selet#nr>option:nth-child(1)") #标签名:nth-child(1)来定位子元素
    层级:
    driver.find_element_by_css_selector("selet#nr>option") #标签名:nth-child(1)来定位子元素
    逻辑运算:
    driver.find_element_by_css_selector("input#nr[id=''][class='']") #不用and连接,写在一起即可

     

    4、多组元素

    一组元素是find_element,多组就是find_elements,其他定位方法一样。只不过要通过下标索引的方式取得想要的值

    m=driver.find_elements_by_name("qq")
    print m[1]
    

      

  • 相关阅读:
    P1135 奇怪的电梯
    pycharm设置快捷键在keymap下拉列表没有eclipse怎么办
    记录selenium简单实现自动点击操作
    selenium 批量下载文件,json,重命名
    python3.6+selenium使用chrome浏览器自动将文件下载到指定路径
    selenium + Java 设置文件默认下载路径
    详解介绍Selenium常用API的使用Java语言(完整版)
    Pycharm安装robot framework运行插件
    Python之robotframework+pycharm测试框架!
    基于Python3 Robot framework环境搭建
  • 原文地址:https://www.cnblogs.com/weizhideweilai/p/9581560.html
Copyright © 2011-2022 走看看